ReactiveCocoa
pengyuan_D
有朋自远方来,不亦乐乎
展开
-
ReactiveCocoa简介6,添加附加操作(Adding side-effects)
在一个next事件发生时执行的逻辑,而该逻辑并不改变事件本身。[[[[self.signInButton rac_signalForControlEvents:UIControlEventTouchUpInside] doNext:^(id x){ self.signInButton.enabled =NO; self.signInFailureText原创 2016-02-20 14:51:15 · 737 阅读 · 1 评论 -
ReactiveCocoa简介五:用信号封装异步API
接口如下typedef void (^RWSignInResponse)(BOOL); @interface RWDummySignInService : NSObject - (void)signInWithUsername:(NSString *)username password:(NSString *)password原创 2016-02-20 14:42:42 · 775 阅读 · 0 评论 -
ReactiveCocoa简介四,Button的点击事件的实现
从按钮的UIControlEventTouchUpInside事件创建了一个信号,然后添加了一个订阅,在每次事件发生时都会输出log。[[self.signInButton rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) { NSLog(@"button click原创 2016-02-20 14:39:36 · 7915 阅读 · 0 评论 -
ReactiveCocoa简介三,根据输入框的条件,改变输入框背景颜色
(1)创建一些信号,来表示用户名和密码输入框中的输入内容是否有效//代码对每个输入框的rac_textSignal应用了一个map转换。输出是一个用NSNumber封装的布尔值。RACSignal *validUsernameSignal = [self.usernameTextField.rac_textSignal map:^id(NSString *text) { retu原创 2016-02-20 14:32:20 · 1016 阅读 · 0 评论 -
ReactiveCocoa简介二,值的传递
log输出变成了文本的长度而不是内容。使用map操作来把接收的数据转换成想要的类型,只要它是个对象。[[[self.usernameTextField.rac_textSignal map:^id(NSString*text){ return @(text.length); }] filter:^BOOL(NSNumber*length){ return[l原创 2016-02-20 14:26:40 · 457 阅读 · 0 评论 -
ReactiveCocoa简介一,什么是信号量和基本操作
1、textField输入有变化时,产生next事件[self.usernameTextField.rac_textSignal subscribeNext:^(id x){ NSLog(@"%@", x);}];2、超过3个字符长度的用户名,输出next事件[[self.usernameTextField.rac_textSignalfilter:^BOOL(id value原创 2016-02-20 14:24:23 · 669 阅读 · 0 评论