我對對象c中的空閒對象內存有疑問。關於內存管理(通過接口生成器創建對象的規範)
例如代碼:
@interface myCell : UITableViewCell {
IBOutlet UIView* bindView;
IBOutlet UIView* unBindView;
}
正如你看到的,二對象,首先是分配,並通過Interface Builder的結合,另一個是在我的dealloc代碼沒有
,我嘗試釋放,以避免內存泄漏 。所以我做如下:
- (void)dealloc {
[bindView release];
bindView = nil;
[unBindView release];
unBindView = nil;
[super dealloc];
}
所以,我認爲這將是免費的.....所有的代碼執行正確,但我奇怪的是,因爲第二個對象unBindView
從來沒有在代碼或IB分配,這似乎應該是零,但代碼仍然可以執行無零指針異常拋出....
我的問題,是否我上面的自由對象代碼是正確的和最好的方式?因爲bindView
從未被保留,我認爲應該由可可處理?下一個問題是關於unBindView
,因爲我知道對象是弱語言,但是關於這種類型變量用法的規則是什麼?
謝謝你的答案!
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html – iXcoder 2010-11-16 04:50:57