MVVM筆記

簡單的概念就不多說了,都有所了解。沒見過也聽過。

在面試復習的時候,知道這是什么東西,但是當自己在使用時,出現了無從下手的感覺。

自己記錄自己要記得東西,一些具體實施的東西。

ViewModel是通過“綁定”方式與View交互的。

好處:

  • 代碼復用
  • 單元測試

綁定方式:

  1. 單向數據綁定
  2. 雙向數據綁定
    channelTerminal
  3. 集合數據綁定
  4. 執行過程綁定
  5. 錯誤處理

實施步驟:

  1. 創建base View中的屬性;

  2. 創建base ViewModel對應屬性的signal;

  3. 業務A Model的屬性創建(使用mantle進行映射);

  4. A ViewModel 繼承baseViewModel,根據業務邏輯(需求),將數據加工并映射的ViewMode的UI屬性上。使用RAC的map對A Model的屬性進行映射。

  5. 網絡請求或者其他方式得到的數據(demoModel)。

  6. 對應得ViewModel對其獲取數據的方法進行綁定,根據不同業務的模型綁定不同的獲取方式。

  7. viewController中將刷新數據方式與ViewModel中獲取數據的方法進行綁定。

  8. ViewModel中的scenic屬性對外不暴露,所以不是一“可變”值,所以這里可以使用[RACSignal return:scenic]得到一個一次性的信號。

  9. 如果對應的scenic屬性可能被外部修改,則應使用RACObserve(self, scenic)將其轉變為信號。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 1、概述 Databinding 是一種框架,MVVM是一種模式,兩者的概念是不一樣的。我的理解DataBindi...
    Kelin閱讀 76,890評論 68 521
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,559評論 25 708
  • 今日,與一位認識多年的男性朋友吃飯,兩人相識多年,雖未深交,卻聊得來,所以偶爾聚餐,聊聊家常,談談夢想,發發牢騷,...
    D018李靜閱讀 126評論 1 1
  • 2.你看,那滿池的蓮花真是惹人喜愛。有的還是花骨朵兒,似乎還在沉睡;有的含苞欲放,像個害羞的小姑娘;有的則已經熱情...
    瑪炯吉閱讀 169評論 0 1