2017.04.26(MVVM的進一步學習初步對ReactiveCocoa認識)
MVVM
在MVVM中有一個雙向繫結的技術,主要的功能是Modal變化時,ViewModel會自動更新,ViewModel變化時,View會自動更新,正在學習的RAC(ReactiveCocoa)可以實現資料的繫結。
V/C----------ViewModel---------Model
View(View/ViewController)持有ViewModel,即在View中會有一個ViewModel的屬性,ViewModel持有Model,在ViewModel中會有一個Model屬性,這種持有關係都是單向的,不可以違反,view也不能越過ViewModel持有model
Model-------ViewModel-----------View
Model變化時,ViewModel會自動更新,ViewModel變化時,View會自動更新
Model-----資料模型 負責保持資料和實現業務邏輯,Model中的屬性是資料型別的屬性,比如 NSString,BOOL,NSURL等,或本身已經是Model型別!暫時沒有看到集合類的屬性!
ViewModel-----檢視模型 檢視模型負責呈現邏輯!與檢視的顯示相關的一些屬性,比如:一組滾動圖片,可在VIewModel中建立一個NSSArray屬性,用來儲存圖片!主要是跟檢視相關的一個資料,比如:有一組按鈕要顯示在頁面上,可採用陣列。比如是否需要登陸啊,是否需要VC重新重新整理資料啊!ViewModel是一個放置使用者輸入驗證邏輯,檢視顯示邏輯,發起網路請求和其他各種各樣的程式碼的極好的地方
View -----檢視 向使用者展示並與使用者互動並實現UI邏輯。由View和ViewController組成

ReactiveCocoa的初步認識:(知識來自於http://www.jianshu.com/p/87ef6720a096,可以回頭再去看)
1.匯入
在匯入的時候要加上:use_frameworks!
然後 pod 'ReactiveCocoa', '~> 4.0.2 -alpha -1(看不清楚這裡是1還是L)'
2.認識一下最核心的類RACSignal
訊號類,一般表示將來有資料傳遞,只要有資料改變,訊號內部接收到資料,就會馬上發出資料。
注意:
訊號類(RACSiganl),只是表示當資料改變時,訊號內部會發出資料,它本身不具備傳送訊號的能力,而是交給內部一個訂閱者去發出。
預設一個訊號都是冷訊號,也就是值改變了,也不會觸發,只有訂閱了這個訊號,這個訊號才會變為熱訊號,值改變了才會觸發。
如何訂閱訊號:呼叫訊號RACSignal的subscribeNext就能訂閱。

相關文章
- 對LinkMapFile的初步認識
- ## 對HDFS的初步認識
- Workerman學習筆記(一)初步認識筆記
- 對深度學習的認識深度學習
- Python學習 —— 初步認知Python
- 前端學習 node 快速入門 系列 —— 初步認識 node前端
- 初步認識zookeeper
- Mybatis初步認識MyBatis
- 初步認識Apache IgniteApache
- Spring初步認識-(1)Spring
- Mybatis學習-初步認知與使用MyBatis
- 快速冪的初步認識(Java)Java
- 初步認識ida軟體
- [Redis 系列]redis 學習一,資料庫的演進及 Nosql 的初步認知Redis資料庫SQL
- iOS筆記:進一步認識 ==、isEqual、hashiOS筆記
- 01MySQL的 庫、表初步認識MySql
- 初步認識 k8sK8S
- 網路報文初步認識
- 低程式碼 —— 初步認識 AppsmithAPPMIT
- 學習/認識CPU的GDT
- (學習筆記)python 對__init__的初步理解筆記Python
- Git的初步學習Git
- 認識與學習bash
- 關於瀏覽器外掛的初步認識瀏覽器
- Swift 網路請求 : Moya初步認識Swift
- webpack 快速入門 系列 —— 初步認識 webpackWeb
- 【人生苦短,我學 Python】基礎篇——初步認識(Day1)Python
- 初步學習VuexVue
- Mongoose初步學習Go
- iOS學習筆記39 ReactiveCocoa入門iOS筆記React
- 架構演化學習思考(4) --- IOC的學習認識架構
- 初步認識微前端(single-spa 和 qiankun)前端
- SVG:初步學習感想SVG
- rust學習五、認識所有權Rust
- 好程式設計師web學習路線初步認知react框架程式設計師WebReact框架
- MVVM的學習記錄和思考MVVM
- 初步學習jQuery之事件jQuery事件
- 【雜談】對CopyOnWriteArrayList的認識
- 對ajax、axios、fetch的認識iOS