我很迷茫的內存管理。iOS:我應該釋放dealloc函數中的對象嗎?
聲明的變量allNoticeArray在.h文件中:
@interface NoticeViewController : UITableViewController
{
NSMutableArray *allNoticeArray;
}
@property (nonatomic, retain) NSMutableArray *allNoticeArray;
@end
的Alloc和INIT在.m文件變量:
@implementation NoticeViewController
@synthesize allNoticeArray;
- (void)viewDidLoad
{
[super viewDidLoad];
self.allNoticeArray = [[[NSMutableArray alloc] init] autorelease];
}
- (void)dealloc
{
[super dealloc];
/*
***should I release allNoticeArray here or not?***
*/
//[allNoticeArray release];
}
我應該釋放allNoticeArray中的dealloc功能或沒有?
預先感謝您!
謝謝你的幫助 – jxdwinter
@SuperGuyAbe你能告訴我爲什麼設置財產無法在這裏工作?如果你指定nil,setter將釋放場景後面的對象。它可以安全地以這種方式進行發佈,畢竟這裏已經使用了一個屬性。 – sElanthiraiyan
@sElanthiraiyan謝謝你給我打電話,我發現了一篇非常明確的文章,它涵蓋了我的推理,但也闡明瞭你對self.allNoticeArray = nil的特別建議實際上可行。在一般情況下,object = nil不會釋放,但會在屬性上釋放。鏈接是[here](http://tinyurl.com/7zzl8pl) – SuperGuyAbe