首先,我是一個Objective-C的新手。 :)Objective-C,所有權和類方法
我知道任何以alloc
,new
和copy
開頭的東西都會給返回對象的調用者所有權。這是否也適用於類方法?我猜測它確實是,最近一次我的單元測試崩潰似乎證實了它。 Apple的高級內存管理編程指南不會說類和實例方法之間是否有區別。
更新 我的意思是它也適用於類方法真的是「逆」。例如,NSDecimalNumber有一個名爲+decimalNumberWithDecimal:
的類方法。它似乎返回一個自動釋放的對象(如果我明確地釋放它,在此之後不久就會發生崩潰)。事後看來,我的問題的答案是顯而易見的,因爲Apple的指南將new
和alloc
稱爲所有權授予方法,並且它們都是類方法。抱歉佔用你寶貴的時間。 :)
你是指爲你生成一個對象的類方法嗎? 當然可以。這種模式是obj-c中內存管理的一個關鍵。即使非蘋果框架適用於這種模式。 – yinkou