RACObserver 未遵循 属性 更改
RACObserver not follow property changes
我想知道为什么以下代码不起作用:
RACDisposable *subscr;
subscr = [[[RACObserve(self.myTextView, text) filter:^BOOL(NSString* value) {
return value != nil;
}]
// Map
map:^id(NSString * value) {
return [NSString stringWithFormat:@"Shock the %@", value];
}]
setKeyPath:@keypath(self.testLabel, text) onObject:self.testLabel];
NSLog(@"test label text? %@", self.testLabel.text);
当我更改文本(在文本字段中键入)时,没有任何效果。我知道有这样的方法:
RAC(self, testString) = [self.myTextField.rac_textSignal map:^id(NSString* value) {
但我的意思是测试 RACObserve。当我 "observe" 其他属性时,上面的代码有效。
RACObserve
在后台使用键值观察。并且 UIKit 中的大多数属性,包括 UITextView.text
,都不符合 KVO。
这就是像 rac_textSignal
这样的辅助信号存在的原因。如果每次文本更改时都需要触发信号,请使用它们。
我想知道为什么以下代码不起作用:
RACDisposable *subscr;
subscr = [[[RACObserve(self.myTextView, text) filter:^BOOL(NSString* value) {
return value != nil;
}]
// Map
map:^id(NSString * value) {
return [NSString stringWithFormat:@"Shock the %@", value];
}]
setKeyPath:@keypath(self.testLabel, text) onObject:self.testLabel];
NSLog(@"test label text? %@", self.testLabel.text);
当我更改文本(在文本字段中键入)时,没有任何效果。我知道有这样的方法:
RAC(self, testString) = [self.myTextField.rac_textSignal map:^id(NSString* value) {
但我的意思是测试 RACObserve。当我 "observe" 其他属性时,上面的代码有效。
RACObserve
在后台使用键值观察。并且 UIKit 中的大多数属性,包括 UITextView.text
,都不符合 KVO。
这就是像 rac_textSignal
这样的辅助信号存在的原因。如果每次文本更改时都需要触发信号,请使用它们。