当以下命令在 iphone 模拟器(3.0 操作系统)中运行时,我收到上述错误:
@interface Routine : NSManagedObject {
}
@property (nonatomic) BOOL active;
@implementation Routine
@dynamic active
@end
正如您所看到的,我正在对 NSManagedObject 进行子类化,因为我正在使用 Core Data。在我的数据模型中,“active”是布尔类型的选项属性。
我在这里做错了什么?
Thanks!
CD 中产生的所有内容都是对象,而不是标量。将您的代码更改为:
@interface Routine : NSManagedObject {
}
@property (nonatomic) NSNumber * active;
@implementation Routine
@dynamic active
@end
如果您愿意,可以添加一个方便的访问器来将其作为标量处理:
- (BOOL) activeScalar {
return self.active.boolValue;
}
- (void) setActiveScalar:(BOOL)active_ {
self.active = [NSNumber numberWithBool:active_];
}
最后,如果您按住 Control 键并单击模型编辑器中的属性,它将显示一个巨大的上下文菜单,其中包括将适当的声明和定义复制到粘贴板的选项,因此您不必自己编写它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)