Objective-C 错误:属性“active”是类“Routine”上的标量类型。无法为其生成 getter 方法

2024-01-05

当以下命令在 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(使用前将#替换为@)

Objective-C 错误:属性“active”是类“Routine”上的标量类型。无法为其生成 getter 方法 的相关文章

随机推荐