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); }];