如何在objective-c中释放“委托”记忆?

前端之家收集整理的这篇文章主要介绍了如何在objective-c中释放“委托”记忆?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于我的项目,我正在创建委托类.当我指定obj.delegate = self时,[self retainCount]增加1.因此,具有保留计数的已分配对象是2.如何释放委托对象和分配的对象retaincount为1?

问候
作者Srini

解决方法

通常的约定是不保留代表.这主要是因为通常的模式是对象的所有者通常也是它的委托,如果委托被保留,你将得到一个保留周期.

如果您使用的是属性,请按以下方式声明:

@property (assign) DelegateType delegate; // replace "DelegateType" with whatever type you need

删除释放委托的-dealloc中的行.

如果合成了访问器,那么现在就完成了.如果没有,请使访问者分配访问者,例如

-(DelegateType) delegate
{
    return delegate;
}

-(void) setDelegate: (DelegateType) newValue
{
    delegate = newValue;
}

猜你在找的C&C++相关文章