0
我使用RxSwift绑定视图模型和视图,和我有大约10名司机,在我的视图模型暴露属性:RxSwift + MVVM:高效的方式进入地图模式,暴露的驱动器/可观察性
let title: Driver<String>
let description: Driver<String>
let price: Driver<String>
...
从传入的模型序列中驱动这些观测量的最佳方法是什么?是否最好观察每个驾驶员的来电?这是一种奇怪/无效的做事方式吗?
self.title = incoming.productObservable.map({ $0.title }).asDriver(onErrorJustReturn: "")
self.description = incoming.productObservable.map({ $0.description }).asDriver(onErrorJustReturn: "")
self.price = incoming.productObservable.map({ $0.price }).asDriver(onErrorJustReturn: "")
...
我想不出这样做比创建私有变量,订阅观察的模型,每一个事件设置变量,然后另外创建一套公共驱动器的其它更好的方式/来自变量的观察值,即:
let titleDriver: Driver<String>
private let title = Variable<String>("")
...
titleDriver = title.asDriver()
但我讨厌每个属性所需的代码的重复和数量!
我想确保我不会从视图模型外部暴露Variable
,因为您不希望任何人与他们一起玩耍!
您是否想要将模型属性与'viewController'中的'UILabel'绑定? – XFreire