MVVM 是 Model - View - ViewModel 的縮寫 可以看到他和之前的MVC很像赂弓,的確有人稱之為一個加強(qiáng)優(yōu)化版的MVC. 是一種模塊化開發(fā)代碼分層的思想或者框架无拗!
MVVM 的優(yōu)點(diǎn)
1傲绣、主要目的是分離視圖(View)和模型(Model)
2、降低代碼耦合怔昨,提高視圖或者邏輯的重用性余赢。
3、提高了模塊的可測試性
任務(wù)分工
1愕难、模型(Model)
模型和業(yè)務(wù)數(shù)據(jù)綁定早龟,方便數(shù)據(jù)的使用和傳遞
2、視圖(View
![Uploading 屏幕快照 2016-06-01 上午10.28.13_147186.png . . .]-control)
視圖是應(yīng)用程序中用戶界面相關(guān)的部分猫缭,是用戶看到并與之交互的界面葱弟。
如: label 、button 猜丹、view芝加、ImageView、textfield 射窒、textview藏杖、以及他們的組合 等等!
3轮洋、ViewModel
首先它的創(chuàng)建需要將Model中的數(shù)據(jù)綁定在他身上制市。將原來MVC中的業(yè)務(wù)邏輯剝離出來 寫在ViewModel中,簡化view 弊予、和 controller
屏幕快照 2016-06-01 上午10.28.13.png
使用步驟
1、模塊中需要的數(shù)據(jù)开财,通過網(wǎng)絡(luò)層請求得到 汉柒,然后將數(shù)據(jù)綁定到Model層中
2、將model層中的數(shù)據(jù)轉(zhuǎn)化到ViewModel中责鳍,然后在ViewModel中處理一些邏輯問題
3碾褂、將ViewModel中的數(shù)據(jù)綁定到控制器的View上 然后更新界面
(MVVM配合ReactiveCocoa使用才能體會到ViewMedel的強(qiáng)大!)