代码之家  ›  专栏  ›  技术社区  ›  mootymoots

合成一个布尔值以在目标C中设置值

  •  4
  • mootymoots  · 技术社区  · 15 年前

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

    @property (nonatomic) const BOOL useSystem;
    

    所以我在做

    [object setUseSystem:YES];
    

    我马上就知道巴士出错了。有人能帮忙吗?

    3 回复  |  直到 15 年前
        1
  •  6
  •   Eimantas    15 年前

    使用 [NSNumber numberWithBool:YES]

        2
  •  1
  •   Stefan Arentz    15 年前

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

        3
  •  0
  •   Nimrod    15 年前

    如果您显式声明该方法,但它可能无法与@synthesis一起使用,那么应该可以这样做。看起来我以前做过,但也许我只是使用了没有变元方法的bool。(如果定义@property声明的方法,则可以在不使用@synthesis的情况下使用@property。)