我们应该在dealloc方法中释放一个委托吗?

时间:2012-03-23 12:44:47

标签: objective-c memory-management delegates dealloc

你好我在Objective-C内存管理方面有一个小问题。

我知道如果保留一个属性,我们应该在dealloc方法中释放它。例如:

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

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

但是如果我们声明一个委托(使用assign)

@property (nonatomic, assign) id titleDelegate

我们应该在dealloc方法中释放它吗?

[titleDelegate release]

提前感谢任何提示。

4 个答案:

答案 0 :(得分:1)

没有。您尚未分配内存或保留。因此不要释放它。把它弄清楚。只有当您是对象的所有者时,才会释放对象的内存。

答案 1 :(得分:0)

您只需要释放您保留的内容。 Assign不会增加retainCount。所以,答案是否定的。

答案 2 :(得分:0)

没有。你不必,你不能发布它。您没有对象

答案 3 :(得分:0)

永远不要释放代表只是把它放到零