Выполняю это:
@try
{
NSLog(@"1. autocapitalizationType = %d", [self.textField autocapitalizationType]);
NSLog(@"2. autocapitalizationType = %@", [self.textField valueForKey:@"autocapitalizationType"]);
}
@catch (NSException *exception)
{
NSLog(@"3. %@", exception);
}
Выводит это:
1. autocapitalizationType = 0
3. [<UITextField 0x6c15df0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key autocapitalizationType.
Я ожидал:
1. autocapitalizationType = 0
2. autocapitalizationType = 0
Это исключение происходит только со свойствами, которые являются частью протокола UITextInputTraits
. Обычные свойства UITextField
, такие как clearButtonMode
, могут быть доступны через valueForKey:
.
Так почему вы не можете получить доступ к свойствам UITextInputTraits
с помощью кодирования ключ-значение?