專案中 tableView 的 cell 比較複雜,於是我就把這個 cell 的展現形式拆分成: header cell footer
這樣來展示。
cell 裡面有多個 item 類似京東的購物車。
下面的圖片使用三種顏色來區分一個完成的 cell 所顯示的區域。
#我碰到的問題是: cell 的 viewModel 應該採用一下的哪一種方式去寫。
我嘗試了下面的兩種形式來寫
ViewModel 包含 headerViewModelArray cellViewModelArray footerViewModelArray。
这3个 viewModel 的数组分别表示对应一个 cell 中3个view 所用到的 ViewModel。
#在 ViewModel 中把header cell footer
需要展示的元素寫在一塊
##所以問題來了:
如果我使用1.
的方法來創建viewModel 就會造成取cell的內容不方便,因為cell 展示的是商品,商品可能有多個不太好一一對應。接著我使用2.
的方式來建立 ViewModel,可是MVVM建議view-model的內容盡量壓縮到我們需要的範圍
。當我對 footer 賦值的過程中,cell 對應的屬性其實是我不需要的,這樣就不太符合 MVVM 的建議。
我認為1.
不太可靠,所以我使用了2.
。
我想請各位給我點關於這個介面使用 MVVM 的建議。
沒必要這麼麻煩。
Cell 中的 VM 包含 1. foot 2. header 3. subCells
@property foot
@Property header
@property struct/class cell model