0

我有一个项目数组(每个项目对应一个单元格数据),我想创建一个单元格 ViewModel 数组。

当我尝试将项目映射到 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 后立即创建单元格 ViewModel。 在此处输入图像描述

4

1 回答 1

0

如果该属性是某个其他信号的映射,那么它应该只是一个常规属性而不是可变属性,并且不需要绑定(即映射返回一个属性):

class ListViewModel {
    let poiData = Property<[CellViewModel]>

    init(poiWrapper: PoiWrapper) {
        poiData = poiWrapper.poiList.map({ (poiItem)  in
            return CellViewModel(poi: poiItem)
        })
    }
}
于 2019-03-16T03:40:50.790 回答