ViewModel with POP

ViewModel with POP

這邊有兩個名詞需要解釋一下,一個是 ViewModel,另一個則是 POP

ViewModel

在 iOS 的開發模式中,從你新建一個新專案的時候,它的預設內容是以 MVC 的架構為底;

而在 MVVM 的架構中,會在 View 以及 Model 之間,多夾帶一層 ViewModel 來分工。

在實作 ViewModel 的時候,我是以 structure 的方式才建構 ViewModel,

並在裡頭宣告 init(model: Model) 的方式,來將 Model 轉成 ViewModel。

POP

POP(Protocol-Oriendted Programing)是以 Protocol 來傳遞的方式;

以 UITableViewCell 來說,我會建立一個:

然後讓 UserViewModel 或是相關的 CellViewModel 來遵守這個 protocol,

這樣 CellViewModel 都可以直接取用出相對應的 Cell!

UITableViewDataSource 的 cellForRowAt 就可以簡單一些: