Я использую Swift Bond для двусторонней привязки вида с viewModel. Это достигается двунаправленным действием.Связывание модели и viewModel в Swift Bond
Вопрос: Что такое обычная практика связывания модели с viewModel и, более конкретно, как модель будет знать об изменениях, сделанных в viewModel. В ReactiveCocoa для этого есть RACChannel, поэтому вы можете связывать viewModel и модель без изменения типов свойств модели.
Основная цель - сохранить модель очень простой, используя только примитивные типы, такие как String, Int, Date и Move Observable и типы свойств для просмотраModel.
Иллюстрация:
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???
}
}