У меня есть класс, который выглядит следующим образом:#typedef и КВЦ в ObjC
@interface Properties : NSObject {
@private
NSNumber* prop1;
NSNumberBool* prop2;
//etc
где NSNumberBool является ЬурейеЕ:
// in MyApp_Prefix.pch
typedef NSNumber NSNumberBool;
У меня есть все необходимые @property и @synthesize декларации в сделать свойства prop1 и prop2.
Все скомпилировано и работает нормально, пока я не попытался получить доступ к prop2 по [myProperties valueForKey: @ "prop2"]. Это дает мне ошибку «class is not key-value compliant». Тем не менее, многие подобные звонки работают нормально:
myProperties.prop2; //works
[myProperties prop2]; //works
[myProperties valueForKey:@"prop1"]; //works
[myProperties valueForKey:@"prop2"] // throws NSUnknownKeyException ??
Что происходит здесь, и как я могу это исправить?
Спасибо,
Действительно странно, сталкиваясь с тем же вопросом.Также, если вы выполняете '[myProperties отвечаетToSelector: @selector (prop2)]', он также возвращает YES – jjramos