[英]Memory management: manual retain/release or accessor methods?
在以下方面最好的方法是什么:
第一 :保持對每個變量的控制
if (objectProperty_ != anObject) {
[objectProperty_ release];
objectProperty_ = [anObject retain];
}
第二 :聲明屬性並使用訪問器並讓系統完成工作
@property (nonatomic, readwrite, retain) NSObject *objectProperty;
...
@synthesize objectProperty = objectProperty_;
...
self.objectProperty = anObject;
謝謝。
盡可能使用屬性。
@property
自動記錄訪問者的語義。 例如,在您的示例中,我可以從界面中看到objectProperty保留其值,而不是分配或復制它。 當您聲明屬性但定義自己的訪問者時,第2點甚至成立。
最有可能保持理智的方法是盡可能使用Apple編寫的訪問器,並在必要時編寫自己的訪問器。
訪問方法調用確實增加了一點時間; 我在iPad上計時,我覺得它大概是10 ^ -7秒。 無論您是自己編寫方法還是使用Apple,都應該如此。 除了最極端的情況之外的所有情況,這都不太重要。
更少的代碼意味着更少的錯誤,所以如果你必須為公共訪問聲明讀寫屬性,只需使用屬性來獲取。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.