我知道當使用ARC並且您有NSString
屬性時,您會像使用MRC一樣執行@property(nonatomic, copy)
。但我不知道,當我將我的項目ARC,我仍然有這個在我的初始化方法:使用ARC時的「複製」
_someString = [someStringParameter copy]
這是一個錯誤?或甚至與ARC,我是否仍然需要明確地說「copy
」?或者我應該這樣做:
self.someString = someStringParameter
並且一切都會好嗎?這裏有點迷茫......
感謝您的回覆。我從不重寫屬性方法,所以我就這樣做。我有時遇到的是我必須從初始化程序中調用訪問屬性的方法,而且我也必須從代碼中調用相同的方法。你如何處理這種情況?該方法中的屬性應該是點符號還是直接訪問變量? –
如果你**絕對肯定**你所調用的訪問器方法沒有任何副作用,你可以從初始化器中安全地調用它們。無論如何,我不會習慣它,因爲這是一種不好的做法,很容易犯錯誤並引入可怕的錯誤。如果你可以分開你的邏輯,那會更好,因爲初始化和對象應該在概念上與其他任何事情分開。 –
我想它發生在我需要重新加載的模式中。我將它加載到初始化程序中,然後如果用戶在應用程序購買中製作,則需要重新加載。 –