【问题标题】:Synthesize a BOOL to set value in Objective C在 Objective C 中合成一个 BOOL 来设置值
【发布时间】:2010-01-24 13:57:17
【问题描述】:

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

@property (nonatomic) const BOOL useSystem;

所以我在做

[object setUseSystem:YES];

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

【问题讨论】:

    标签: iphone objective-c boolean


    【解决方案1】:

    使用[NSNumber numberWithBool:YES]

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        如果您显式声明该方法,这应该可以工作,但它可能不适用于@synthesize。好像我以前做过这个,但也许我只是使用了没有 mutator 方法的 BOOL。 (如果您定义了@property 声明的方法,则可以在不使用@synthesize 的情况下使用@property。)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-03-15
          • 1970-01-01
          • 2023-03-14
          • 1970-01-01
          • 2011-10-14
          • 1970-01-01
          • 2015-04-24
          相关资源
          最近更新 更多