如何实现发布方法?

时间:2012-02-03 10:48:34

标签: ios memory-management release-management

目标c有释放方法。我想创建自己的方法来复制目标c方法。但我不知道要释放记忆。

-(void) release
{
 if(retainCount == 1)
 {
  [self freeMemory];
 }
 else
 {
  retainCount --;
 }
}

-(void) freeMemory
{

} 

2 个答案:

答案 0 :(得分:3)

简短的回答是你会打电话给[自我dealloc],但你真的不应该做这样的事情,从来没有。在ARC下,甚至不可能编写这种代码。

您的方法完全重复了您的类已经从NSObject继承的发布方法的功能,因此很难看出这一点。

如果你想在调用发布时做一些额外的事情,为什么不直接调用[super release]?

你能解释一下你想要在更高层次上做什么 - 也许还有另一种方法吗?

答案 1 :(得分:0)

freeMemory函数中,您应该释放所有保留的类成员,就是这样。