我在swift中使用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的理念吗?这是某种反模式吗?
解决这一问题的最佳方法是什么?
发布于 2016-08-19 21:08:12
首先,我也在使用MVVM设计,而且在IOS上,因为Apple推动了MVC设计模式,很多时候我发现自己在做的事情并不是100%面向MVVM的,而是最适合IOS编程的。
其次,你将"cellObject“称为一个实际为CellViewModel的对象,这种命名约定非常令人困惑。
第三,也是最后一点,MVVM设计模式通过概念,ViewModels可以了解以太ViewModels,视图可以了解以太视图。我完全没问题。
https://stackoverflow.com/questions/39039602
复制相似问题