【问题标题】:What is the difference of these @properties in Objective c? [duplicate]Objective c 中的这些@properties 有什么区别? [复制]
【发布时间】:2012-01-20 11:04:58
【问题描述】:

atomicnonatomic 属性有什么区别,与保留有什么关系?

我知道@property(retain) 是什么,在this website 中定义:@property 是一个声明属性的Objective-C 指令。括号中的“retain”指定 setter 应该保留输入值,而该行的其余部分仅指定属性的类型和名称。

所以@property(retain) 做了上面所说的,但是非原子/原子如何与保留属性一起工作?

@property(nonatomic, retain)
@property(atomic, retain)

【问题讨论】:

  • @SeamusCampbell 哦,你的权利,谢谢^_^

标签: objective-c properties retain


【解决方案1】:

retainatomic/nonatomic 是正交的,这意味着它们的任何组合都是有效的。 retain 表示对象与其保留属性之间有很强的联系(即,该属性引用的对象在该对象指向时不应被释放)。 atomic/nonatomic 表示对属性的访问应该或不应该同步。这是great explanation of the atomic/nonatomic

请注意,所有这些只有在您使用@synthesize 时才有意义。

【讨论】:

  • 需要注意的是,“atomic”实际上并不是关键字。
猜你喜欢
  • 1970-01-01
  • 2012-04-21
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多