Działanie tego:Dlaczego valueForKey: na UITextField zgłasza wyjątek dla właściwości UITextInputTraits?
@try
{
NSLog(@"1. autocapitalizationType = %d", [self.textField autocapitalizationType]);
NSLog(@"2. autocapitalizationType = %@", [self.textField valueForKey:@"autocapitalizationType"]);
}
@catch (NSException *exception)
{
NSLog(@"3. %@", exception);
}
Wyjścia to:
1. autocapitalizationType = 0
3. [<UITextField 0x6c15df0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key autocapitalizationType.
Spodziewałem:
1. autocapitalizationType = 0
2. autocapitalizationType = 0
Wyjątek występuje tylko o właściwościach, które są częścią protokołu UITextInputTraits
. Zwykłe takie właściwości mają clearButtonMode
mogą być dostępne przez valueForKey:
.
Dlaczego więc nie można uzyskać dostępu do właściwości UITextInputTraits
za pomocą kodowania klucz-wartość?
Prawdopodobne ze względu na szczegóły implementacji. Powinieneś zgłosić [zgłoszenie błędu] (http://bugreport.apple.com) firmie Apple. –