合成BOOL以在Objective C中设置值

时间:2010-01-24 13:57:18

标签: iphone objective-c boolean

我在我的Core Data实体中创建了一个名为“useSystem”的BOOL属性。另外为了让我获取/设置我创建了一个对象的数据,但每当我尝试设置合成BOOL时,我都会遇到总线错误。这是我的代码:

@property (nonatomic) const BOOL useSystem;

所以我正在做

[object setUseSystem:YES];

我立刻得到了总线错误。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:6)

使用[NSNumber numberWithBool:YES]

答案 1 :(得分:1)

实际上使用NSNumber作为属性类型可能更好。当您在xcode中使用模型编辑器向实体添加布尔属性时,也会发生这种情况。有'自动拳击'正在进行,但当我只使用更高级别的Objective-C类型和NSNumber这样的包装时,我似乎总是遇到麻烦。

答案 2 :(得分:0)

如果您明确声明方法但是它可能不适用于@synthesize,这应该有效。好像我以前做过这个,但也许我只是使用没有mutator方法的BOOL。 (如果你定义@property声明的方法,你可以使用没有@synthesize的@property。)