2011-12-14 41 views
-1

atomicnonatomic屬性有什麼區別,它與保留它有什麼關係?Objective c中這些@properties有什麼區別?

我知道@property(retain)是什麼,在this website中定義:@property是聲明屬性的Objective-C指令。括號中的「保留」指定設置者應保留輸入值,並且該行的其餘部分僅指定屬性的類型和名稱。

所以@property(retain)做了上述說明,但非原子/原子功能如何與保留屬性?

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

@SeamusCampbell Oohh您的權利,謝謝^ _^ – Gabe 2011-12-14 16:59:20

回答

2

retainatomic/nonatomic是正交的,這意味着在它們的任意組合是有效的。 retain表示該對象與其保留屬性之間存在強聯繫(即,該屬性指向的屬性所引用的對象不應被釋放)。 atomic/nonatomic表示訪問屬性應該或不應該同步。這是一個great explanation of the atomic/nonatomic

請注意,所有這些僅在使用@synthesize時纔有意義。

+0

應該指出,「原子」實際上並不是一個關鍵字。 – 2011-12-14 19:08:08