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)
    })
  }
}

私の意図は、以下のような構造を作成することです: From 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 に答える