ReactiveCocoa简介6,添加附加操作(Adding side-effects)

前端之家收集整理的这篇文章主要介绍了ReactiveCocoa简介6,添加附加操作(Adding side-effects)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在一个next事件发生时执行的逻辑,而该逻辑并不改变事件本身。


@H_502_13@[[[[self.signInButton rac_signalForControlEvents:UIControlEventTouchUpInside] doNext:^(id x){ self.signInButton.enabled =NO; self.signInFailureText.hidden =YES; }] flattenMap:^id(id x){ return[self signInSignal]; }] subscribeNext:^(NSNumber*signedIn){ self.signInButton.enabled =YES; BOOL success =[signedIn boolValue]; self.signInFailureText.hidden = success; if(success){ [self performSegueWithIdentifier:@"signInSuccess" sender:self]; } }];

你可以看到doNext:是直接跟在按钮点击事件的后面。而且doNext: block并没有返回值。因为它是附加操作,并不改变事件本身。

上面的doNext: block把按钮置为不可点击,隐藏登录失败提示。然后在subscribeNext: block里重新把按钮置为可点击,并根据登录结果来决定是否显示失败提示

猜你在找的React相关文章