我有textField.text
并尝试对self.textField.delegate = self;
[self.textField.rac_textSignal map:^id(NSString *text) {
return @(YES); // breakpoint here
}];
更改作出反应:
ROC
我正在浏览tutorial以了解textField.text
。我注意到,当我输入新字符时会调用该块,但是当我删除旧字符时则不会。如何解决..?我希望在删除前一个字符时调用该操作。
例如:左边是a
里面的内容,右边是什么:
ab
- 点击断点abc
- 点击断点ab
- 点击断点ROC
- 没有任何反应免责声明:由于我刚学习这个框架并且不想在不同版本上做出第一步,我使用相同版本的{{1}在教程中:
pod 'ReactiveCocoa', '2.1.8'
答案 0 :(得分:1)
您可以检查此代码是否正常而非您的代码。
[self.usernameTextField.rac_textSignal subscribeNext:^(id x) {
NSLog(@"%@", x);
}];
不同之处在于我的代码有一个subscribeNext:
方法调用。
这里的基本概念是您需要订阅来执行代码。 map:
是仅在数据到达时更改输入数据的运算符。 subscribeNext:
/ subscribeCompleted:
/ subscribeError:
是强制信号将数据发送到ReactiveCocoa链中的根本原因。
您可能应该阅读ReactiveCocoa团队的official framework overview。
<强>更新强>
对于将subscribeNext
应用到最后的当前情况,将解决问题:
[[self.usernameTextField.rac_textSignal
map:^id(id x) {
NSLog(@"%@", x);
return x;
}]
subscribeNext:^(id x) {
NSLog(@"%@", x);
}];