我有一個關於objective-c的簡單問題。當一個屬性沒有被alloc + init'ed調用setter/getter時會發生什麼?
我已經被教導要通過合成它們然後以下面的方式重寫getter來延遲實例化我的屬性。
-(SomeClass *)someProperty {
if (!_someProperty)
_someProperty = [[SomeClass alloc] init ]
return _someProperty
}
當我不這樣做時會發生什麼?我問這是因爲我有這樣的屬性沒有分配&實例化,他們似乎(也許不)表現得很好。
我唯一的猜測是,如果一個屬性未分配&實例化它將被保留爲零;在這種情況下,消息傳遞零將無能爲力。它是否正確?
在此先感謝您的幫助!