Я пытаюсь добавить наблюдателя к объекту и вызвать его, изменив его логическое значение.
Код: Добавить наблюдателя:
[unitsCellViewController.cell addObserver:self forKeyPath:@"unit" options:0 context:nil];
В объекте, когда текстовое поле имеет видизменяя, я изменю логическое значение и попытаюсь вызвать уведомление:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([string length] != 0)
{
NSRange match = [@"0123456789" rangeOfString:string];
if (match.location == NSNotFound) {
return NO;
}
}
[self willChangeValueForKey:@"unit"];
self.on = !on;
[self didChangeValueForKey:@"unit"];
return YES;
}
, но это не работает, значение действительно изменилось, но наблюдатель не сработал.Я делаю это правильно?Если нет, как я могу вызвать событие при изменении текстового поля?