簡體   English   中英

我是否必須“釋放”我聲明為IBOutlets且屬性屬性為“ retain”和“ nonatomic”的UI對象?

[英]Do I have to “release” my UI objects that I declared as IBOutlets with property attributes “retain” and “nonatomic”?

我是否必須“釋放”我聲明為IBOutlets且屬性屬性為“ retain”和“ nonatomic”的UI對象? 我問是因為我有一個這樣聲明的UI變量...

@interface MyViewController : UIViewController 
{
IBOutlet UILabel *lblStatus;
}

@property (retain, nonatomic) IBOutlet UILabel *lblStatus;

@end

和我的dealloc一樣...

- (void)dealloc 
{
  //[lblStatus release];
  [super dealloc];
}

並且將lblStatus UI var注釋掉,當我從導航堆棧中彈出視圖時,Instruments似乎沒有檢測到任何泄漏。

在此先感謝您的幫助!

由於保留了它們,是的,您有責任釋放它們。 通常,對於視圖控制器,這應該在-viewDidUnload發生,如下所示:

- (void)viewDidUnload
{
    self.lblStatus = nil;
    [super viewDidUnload];
}

(使用綜合的retain訪問器設置屬性的值將在將實例變量設置為新值之前釋放舊值。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM