- 頁面展示

Github下載地址:MVVM_Demo
有時候?qū)懼鴮懼杏X真的是,只要自己習(xí)慣,怎樣寫都可以。
PersonModel和LoginViewController只是為了登錄上,獲取token然后能夠正常的請求數(shù)據(jù)。重點是登陸之后的進入的界面.
ViewModel這個類是跟Model綁定的,同時和Cell交互并且和ViewController交互。
ViewModel其實就是一個FrameModel,在獲取到數(shù)據(jù)源的時候,就將各個控件的frame、cellHeight都計算出來,在需要的地方直接使用即可.
而對于Cell上自定義的控件,在請求下來數(shù)據(jù)之后,自定義的View持有ViewModel,在自己的類中進行賦值,這樣各司其職,最后在VC中刷新下,搞定。
Request這個類單獨是為了請求,相當于從ViewController中封裝了出去,在ViewController中,Request初始化對象,然后將獲取到的數(shù)據(jù)給ViewModel去處理,ViewModel根據(jù)數(shù)據(jù)去繪制Frame,Cell中根據(jù)ViewModel給控件賦值。最后頁面展示。
至于頁面的上拉刷新我感覺怎么寫都需要回到VC中去處理,再怎么封裝,你最后都要用到tablevew,而tableview是VC持有的,其實可以進行封裝,但是感覺好累啊,封來封去,不是在難為自己。??垂拘枰伞?/p>

現(xiàn)在作為一個彩筆,也只能一點一點的自己琢磨,希望能夠遇到志同道合的朋友,有啥技術(shù)上的問題相互幫助。我知道自己寫的還有很大的問題,希望大神們多多指點。
最后一點就是感覺MVP和MVVM差的不是太多,MVP就是寫個協(xié)議,讓VC去實現(xiàn),為的就是刷新頁面,需要用到VC去做的時候就在協(xié)議中加個方法,而MVVM感覺用的是block回調(diào),來實現(xiàn)的,當然了這只是我這個彩筆的想法,大神們有什么想法,可以評論下指點一下。