Я начал настраивать свои модели просмотра, чтобы они автоматически отвязали/привязали себя к любой модели, которую они представляют.Следует ли мне переустановить модели в ReactiveCocoa MVVM?
Я относительно новичок в ReactiveCocoa и хочу знать, является ли то, что я делаю, плохая/хорошая практика или если есть лучший способ сделать это.
Например, если у меня есть модель представления, которая представляет собой модель фильм, я бы поставил его так:
-(void)bind{
[RACObserve(self, movieModel) subscribeNext:^(id x) {
[self unbindMovieModel];
[self bindMovieModel];
}];
}
-(void)unbindMovieModel{}
-(void)bindMovieModel{
self.titleSignal = [RACObserve(self.movieModel, title)
takeUntil:[self rac_signalForSelector:@selector(unbindMovieModel)];
self.averageRatingSignal = [[self.movieModel currAverageRating]
takeUntil:[self rac_signalForSelector:@selector(unbindMovieModel)];
//Setup some more complex signals, etc...
}
Теперь, если в любой момент я:
self.movieModel = newModel;
view model отменит старый MovieModel и привяжет себя к newModel.
Есть ли лучший способ? Разве это не «реактивно»? Любая обратная связь будет действительно оценена.
Спасибо, у меня было чувство, что я что-то на самом деле основной недостающий. – akiraspeirs
Есть ли способ сделать это, если я не использую RACObserve? Что бы вы сделали для второго примера, когда я получаю средний рейтинг? – akiraspeirs
@AkiraSpeirs Я обновил свой ответ, чтобы рассмотреть этот случай. – Leo