2011-07-14 201 views
78

我對開發人員使用Xcode測試版,並且注意到一些細微的差異。其中有一個屬性是已申報屬性的新屬性。什麼是強屬性屬性

@property(strong)IBOutlet NSArrayController *arrayControl; 

我的問題是:強屬性意味着什麼?它取代了一些較老的,還是全新的?我已經通過谷歌和開發人員的文檔搜索,並沒有找到任何東西。直到我知道它是什麼,我猶豫使用它。

在此先感謝

+1

真的不應該談論的βNDA的東西在這裏... –

+3

那麼,它不會像IM泄露公司機密,但是是的,我大概應該把這個蘋果開發論壇 –

+0

我一直看到這些「beta NDA」對目標c的評論。我覺得蘋果覺得有必要保護它的客觀c祕密(每個人都渴望複製客觀的c),而且更有趣的是開發人員覺得有必要繞開這個祕密。 – Jehan

回答

4

正如我們所知,我們不能在iOS 5中的基於ARC的項目中發佈任何對象。因此,當我們希望保留任何對象以便在稍後階段進一步使用並且不希望ARC從對象中刪除對象時內存,那麼我們將對象的屬性設置爲「強」。

10

強引用是對對象的引用,它阻止它被釋放。換句話說,它創建了一個所有者關係。而在以前,你這樣做:

**// Non-ARC Compliant Declaration 
@property(retain) NSObject *obj;** 

在ARC我們下面來確保一個類實例需要的所有者權益引用的對象(即所以它不能被釋放,直到主人)。

**// ARC Compliant Declaration 
@property(strong) NSObject *obj;**