Я использовал RACObserve для создания сигнала, но он не работает, а rac_textSignal в порядке. Вот мой код:Кажется, что RACObserve не работает хорошо
[RACObserve(self, searchText.text); subscribeNext: ^(id newName){
NSLog(@"newName:%@", newName);
}];
[self.searchText.rac_textSignal subscribeNext: ^(id newName){
NSLog(@"newName:%@", newName);
}];
Когда приложение запускается, как печать сигнала вне NEWNAME с нулевой value.But каждый раз, когда я изменить текст в текстовом поле, только второй signl будет работать и печать последний текст в текстовом значении. Первый сигнал никогда ничего не печатает.
'RACObserve' работает только для свойств, совместимых с ключом, из которых' 'UITextVIew' и' UITextField' 'не являются (следовательно, включены помощники' rac_textSignal'). –
Понял. Большое спасибо. Но как я могу узнать, соответствует ли свойство ключевым требованиям? – sevenkplus
:(Как я знаю, это чистый фольклор. * Некоторые * библиотеки - и я имею в виду крошечную часть - явно документируют соответствие KVO для свойств. Другие предполагают, что все свойства KVO-совместимы. Другие предполагают, что нет. 'UIKit', вы должны предположить, что свойства * no * являются KVO-совместимыми. Даже если это работает сейчас, будущая версия iOS может удалить это свойство. Просто происходит« случайно »с некоторыми свойствами. –