atomic
和nonatomic
属性之间有什么区别,它与保留它有什么关系?
我知道this website中定义的@property(retain)是什么:@property是一个声明属性的Objective-C指令。括号中的“保留”指定setter应保留输入值,而行的其余部分仅指定属性的类型和名称。
所以@property(retain)
做了上面所说的,但是非原子/原子如何与retain属性一起工作?
@property(nonatomic, retain)
@property(atomic, retain)
答案 0 :(得分:2)
retain
和atomic
/ nonatomic
是正交的,这意味着它们的任何组合都是有效的。 retain
表示对象与其保留属性之间存在强关联(即,当该对象指向该属性时,不应释放该属性引用的对象)。 atomic
/ nonatomic
表示应该或不应该同步对属性的访问。这是great explanation of the atomic/nonatomic。
请注意,只有在使用@synthesize
。