2012-03-23 118 views
0

你好我在Objective-C內存管理方面有一個小問題。我們應該在dealloc方法中釋放委託嗎?

我知道如果一個屬性被保留,我們應該在dealloc方法中釋放它。例如:

@property (nonatomic, retain) NSString *title; 
在dealloc方法

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

但是,如果我們聲明一個代理(使用分配)

@property (nonatomic, assign) id titleDelegate 

我們應該釋放它的dealloc方法?

[titleDelegate release] 

在此先感謝您的任何提示。

+1

這裏的解決方案是使用ARC和弱引用。 – 2012-03-23 12:50:32

+0

+1用於指向ARC。我總是使用它。但在我的情況下,我有一個項目已經寫好,我正在解決一些內存問題。謝謝 – Youssef 2012-03-23 12:56:53

回答

1

不可以。你沒有分配內存或保留,所以不要釋放它。使它成爲零。只有當你是它的所有者時,你纔會釋放內存。

0

您只需要發佈您保留的內容。分配不會增加retainCount。所以,答案是否定的。

0

不需要,您不必釋放它。你不擁有該對象

0

從未發佈委託只要把它爲零

相關問題