ReactiveCocoa学习随笔 二

  1.RACSignal *validUsernameSignal =  [self.usernameTextField.rac_textSignal  map:^id(NSString *text) {  return @([self isValidUsername:text]);  }]; 

   RACSignal *validPasswordSignal =  [self.passwordTextField.rac_textSignal    map:^id(NSString *text) {    return @([self isValidPassword:text]);  }];  

  创建有效状态信号,map起到的作用就是做判断,如果是有效的输入则返回值,否则就不返回

  2.RAC(self.passwordTextField, backgroundColor) =

[validPasswordSignal map:^id(NSNumber *passwordValid){

return[passwordValid boolValue] ? [UIColor clearColor]:[UIColor yellowColor];

}];

RAC(self.usernameTextField, backgroundColor) =

[validUsernameSignal map:^id(NSNumber *passwordValid){

return[passwordValid boolValue] ? [UIColor clearColor]:[UIColor yellowColor];

}];

进一步改善代码,map做判断,为真返回clearcolor,假则返回yellowcolor[objc] 

  3.[[validPasswordSignal map:^id(NSNumber *passwordValid){

return[passwordValid boolValue] ? [UIColor clearColor]:[UIColor yellowColor];

}]

subscribeNext:^(UIColor *color){

self.passwordTextField.backgroundColor = color;

}];

这是完整的代码,map接收输入的text,做判断,真就返回clearcolor,假则返回yellowcolor,subscribeNext则将接收到的color作为textfield的背景颜色

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作为一个iOS开发者,你写的每一行代码几乎都是在相应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO...
    jiajia1118阅读 823评论 0 2
  • 作为一个iOS开发者,你写的每一行代码几乎都是在相应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO...
    不作不会死阅读 461评论 0 1
  • 本文翻译自ReactiveCocoa Tutorial – The Definitive Introduction...
    张果果灬阅读 1,337评论 1 29
  • ReactiveCocoa是响应式编程(FRP)在iOS中的一个实现框架。 监听对象的成员变量变化 这种情况其实就...
    夜雨聲煩_阅读 1,787评论 0 1
  • RAC支持的UI控件 RACCommand RACCommand类用于表示事件的执行,一般来说是在UI上的某些动作...
    花前月下阅读 2,804评论 0 5