Почему valueForKey: на UITextField выбрасывает исключение для свойств UITextInputTraits?

Выполняю это:

@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 с помощью кодирования ключ-значение?

10
задан 0xced 7 July 2011 в 21:39
поделиться