ReactiveCocoa简介一,什么是信号量和基本操作

前端之家收集整理的这篇文章主要介绍了ReactiveCocoa简介一,什么是信号量和基本操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、textField输入有变化时,产生next事件

[self.usernameTextField.rac_textSignal subscribeNext:^(id x){
  NSLog(@"%@",x);
}];

2、 超过3个字符长度的用户名输出next事件

[[self.usernameTextField.rac_textSignal
filter:^BOOL(id value){
<span style="color: rgb(0,130,0); font-family: Consolas,'Bitstream Vera Sans Mono','Courier New',Courier,monospace; font-size: 14px; white-space: pre;">//隐式转换</span>
   NSString*text = value;
   return text.length > 3;
}]
subscribeNext:^(id x){
   NSLog(@"%@",x);
  }];
可以直接写成

[[self.usernameTextField.rac_textSignal
  filter:^BOOL(NSString*text){
    return text.length > 3;
  }]
  subscribeNext:^(id x){
    NSLog(@"%@",x);
  }];


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

分开写就是

RACSignal的每个操作都会返回一个RACsignal,这在术语上叫做连贯接口(fluent interface)。这个功能可以让你直接构建管道,而不用每一步都使用本地变量。

RACSignal *usernameSourceSignal =
    self.usernameTextField.rac_textSignal;
  
RACSignal *filteredUsername =[usernameSourceSignal
  filter:^BOOL(id value){
    NSString*text = value;
    return text.length > 3;
  }];
  
[filteredUsername subscribeNext:^(id x){
  NSLog(@"%@",x);
}];

猜你在找的React相关文章