例如,我希望我的视图显示一个吐司,我现在的操作方式是:
鉴于:
RACObserve(self.viewModel, showToast) subscribeNext:^(NSNumber *isShow) {
if (isShow.boolValue) {
self showToast];
}
}
showToast
是我的ViewModel的一个属性,我认为这种方式不是非常描述性的,是否有更多标准,更优雅的方式来实现?
为了提供更多描述性的信息,您可以创建一个RACSubject来使用手动发送通知[self.toastsSubject sendNext:@"Toast info string of some kind"]
。
@weakify(self)
[self.viewModel.toastsSubject subscribeNext:^(id _) {
@strongify(self)
[self showToast];
}
更好的是,您可以让showToast接受一个参数(例如toast的内容),然后您无需使用@weakify
和@strongify
,而可以直接使用来提升信号rac_liftSelector
。
[self rac_liftSelector:@selector(showToast:)
withSignals:self.viewModel.toastsSubject, nil];
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句