2016-08-19 98 views
0

我與MVVM扮演迅速,遇到過這種情況: 我創建的tableView模型,該模型包含的對象列表,並記入對象。像能返回視圖模型視圖模型等

class TableViewViewModel { 
    var count : Int = 0 
    var objects = [MyObjects]() 
    //... 
    func configure(objs: [MyObjects]){ 
     self.objects = objs 
     self.count = objs.count 
    } 
} 

東西,所以我又補上一句

func getObjectAtIndex(index: Int) -> CellViewModel { 
    let cellObject = CellViewModel(objects[row]) 
    return cellObject 
} 

這是否破壞整個MVVM理念是什麼?這是一種反模式嗎?

這是最好的方法是什麼?

回答

1

首先,我也使用MVVM設計,並且自從Apple推出MVC設計模式以來,很多時候我發現我的自我做的東西不是100%面向MVVM的,但最適合用於IOS編程。

其次,你所說的「cellObject」的對象,實際上是爲CellViewModel,這個命名約定非常混亂。

第三和最後一個,YES,MVVM的設計理念通過模式,可以的ViewModels瞭解醚的ViewModels和視圖可以瞭解醚意見。我完全沒問題。

+1

嘿,謝謝你的回答。這只是我在寫問題時寫的一個例子,我會將其改爲cellVM。關於第三部分,這是我關心的問題,因爲似乎無法看到MVVM的垂直部分 - 水平線是直截了當的。首先,規則應該是指導方針,而不是盲目追隨:)但不應該導致反模式,因此也就是問題。再次感謝 – Miknash