我最近開始在別人的代碼庫工作,我來到這個你可以同時使用strong和retain在同一個屬性聲明中嗎?
@property (strong, retain) TYPE *iVar;
我從來沒有見過既堅固又在同一財產申報保留使用過不少。我很驚訝它甚至會編譯,因爲保留已經意味着強大。
該項目使用弧,並且是幾個月大,因此遺留問題在這裏不是問題,部署目標是iOS6。
有什麼合理的理由說明你會這樣做嗎?
我最近開始在別人的代碼庫工作,我來到這個你可以同時使用strong和retain在同一個屬性聲明中嗎?
@property (strong, retain) TYPE *iVar;
我從來沒有見過既堅固又在同一財產申報保留使用過不少。我很驚訝它甚至會編譯,因爲保留已經意味着強大。
該項目使用弧,並且是幾個月大,因此遺留問題在這裏不是問題,部署目標是iOS6。
有什麼合理的理由說明你會這樣做嗎?
沒有理由使用屬性的聲明既retain
和strong
- according to Apple's documentation,這兩個是同義詞:
weak
和strong
引入新的申報財產屬性的關鍵詞,如下面的例子。
// The following declaration is a synonym for: @property(retain) MyClass *myObject;
@property(strong) MyClass *myObject;
如果您使用的是ARC,那麼只需使用strong。
現在可以混合使用這兩者,但將來可能會產生編譯器警告/錯誤。更不用說它看起來很奇怪。