我正在使用 Swift Bond 将视图与 viewModel 进行双向绑定。这是通过双向绑定实现的。
问题是:将模型与 viewModel 绑定的常见做法是什么,更具体地说,模型如何知道 viewModel 中所做的更改。在 ReactiveCocoa 中有 RACChannel 可以做到这一点,因此您可以绑定 viewModel 和模型而无需更改模型属性的类型。
主要目标是保持模型非常简单,仅使用 String、Int、Date 等原始类型,并将 Observable 和 Property 类型移动到 viewModel。
插图:
import Bond
import ReactiveKit
struct Person {
var name: String
var age: Int
var birthdate: Date
}
struct PersonViewModel {
fileprivate var person: Person
var name: Observable<String>
var age: Observable<Int>
var birthDate: Observable<Date>
init(person: Person) {
self.person = person
// what should go here in order to bind properties???
}
}