我有一个项目数组(每个项目对应一个单元格数据),我想创建一个单元格ViewModels数组。
当我尝试将项目映射到MutablePropery时,我得到Binary operator '<~' cannot be applied to operands of type 'MutableProperty<[CellViewModel]>' and '[CellViewModel]'
我应该如何更改以下代码以获得响应流?
class ListViewModel {
var poiData = MutableProperty([CellViewModel]())
init(poiWrapper: PoiWrapper) {
self.poiData <~ poiWrapper.poiList.map({ (poiItem) in
return CellViewModel(poi: poiItem)
})
}
}
我的意图是创建一个类似于以下内容的结构:来自MVVM + ReactiveCocoa。我共享的代码是ViewController的ViewModel,在我尝试初始化父ViewModel时尝试在其中创建单元格ViewModels。
答案 0 :(得分:0)
如果该属性是其他信号的映射,则它应该只是一个常规属性,而不是可变的,并且不需要绑定(即map返回一个属性):
class ListViewModel {
let poiData = Property<[CellViewModel]>
init(poiWrapper: PoiWrapper) {
poiData = poiWrapper.poiList.map({ (poiItem) in
return CellViewModel(poi: poiItem)
})
}
}