【发布时间】:2010-12-07 06:55:20
【问题描述】:
我有一个如下所示的课程:
@interface Properties : NSObject {
@private
NSNumber* prop1;
NSNumberBool* prop2;
//etc
其中 NSNumberBool 是 typedef:
// in MyApp_Prefix.pch
typedef NSNumber NSNumberBool;
我拥有创建 prop1 和 prop2 属性所需的所有 @property 和 @synthesize 声明。
在我尝试通过 [myProperties valueForKey:@"prop2"] 访问 prop2 之前,一切都编译并运行良好。这给了我一个“类不符合键值”错误。但是,许多类似的调用都可以正常工作:
myProperties.prop2; //works
[myProperties prop2]; //works
[myProperties valueForKey:@"prop1"]; //works
[myProperties valueForKey:@"prop2"] // throws NSUnknownKeyException ??
这是怎么回事,我该如何解决?
谢谢,
【问题讨论】:
-
真的很奇怪,我自己也遇到了同样的问题。此外,如果你这样做
[myProperties respondsToSelector:@selector(prop2)]它也会返回 YES
标签: objective-c typedef key-value-coding