如何使用目标C类的布尔属性,我做它喜欢:如何设置一个boolean类型属性的目标C级
@property (nonatomic, copy) BOOL *locationUseBool;
但它给了错误:
物业'copy'属性必须是对象类型。
声明的正确方法是什么?
如何使用目标C类的布尔属性,我做它喜欢:如何设置一个boolean类型属性的目标C级
@property (nonatomic, copy) BOOL *locationUseBool;
但它给了错误:
物业'copy'属性必须是对象类型。
声明的正确方法是什么?
你也可以这样声明。
@property (assign) BOOL locationUseBool;
基本上,如果你说的非原子,而你使用@synthesize,然后如果多个线程试图一次更改/读取属性生成的访问器,不良可能发生。您可以获得部分写入的值或过度释放/保留的对象
在多线程程序中,原子操作不能部分通过,而非原子操作可以。
@property (nonatomic, assign) BOOL locationUseBool;
没有星号,没有副本,没有保留。
这一个为我工作。
@property (nonatomic) BOOL locationUseBool;
属性声明中没有星号*符号。另外,使用'assign'是可选的。
或者您可以完全省略第二个参数(默认为分配)。 – Alexander 2012-02-22 10:46:27
为了代码清晰,我不会推荐它。 – Sulthan 2012-02-22 10:57:24
也可以考虑使用官方的C99'bool'类型。它有更好的行为,当铸造等。 – JeremyP 2012-02-22 11:51:47