2013-08-30 46 views
2

我最近開始在別人的代碼庫工作,我來到這個你可以同時使用strong和retain在同一個屬性聲明中嗎?

@property (strong, retain) TYPE *iVar; 

我從來沒有見過既堅固又在同一財產申報保留使用過不少。我很驚訝它甚至會編譯,因爲保留已經意味着強大。

該項目使用弧,並且是幾個月大,因此遺留問題在這裏不是問題,部署目標是iOS6。

有什麼合理的理由說明你會這樣做嗎?

回答

2

沒有理由使用屬性的聲明既retainstrong - according to Apple's documentation,這兩個是同義詞:

weakstrong引入新的申報財產屬性的關鍵詞,如下面的例子。

// The following declaration is a synonym for: @property(retain) MyClass *myObject; 
@property(strong) MyClass *myObject; 
0

如果您使用的是ARC,那麼只需使用strong。

現在可以混合使用這兩者,但將來可能會產生編譯器警告/錯誤。更不用說它看起來很奇怪。

相關問題