在dealloc中应该将什么样的属性设置为nil?

时间:2012-12-30 09:23:08

标签: objective-c ios automatic-ref-counting

我正在使用ARC。 ARC会自动释放dealloc中的所有属性吗?是否有必要手动将所有公共属性和私有字段设置为nil?有没有好的模式可以遵循?

2 个答案:

答案 0 :(得分:5)

在ARC下,模式是......在dealloc中不执行任何操作,甚至不执行它。 ARC会为您处理您的属性和实例变量。

唯一的例外是,如果您的对象已注册任何通知,则dealloc是取消注册通知的好地方。

答案 1 :(得分:0)

好问题。使用ARC时,编译器将为您实现dealloc方法,并将隐式处理实例变量和属性的发布。

如果你的班级除了释放内存之外还需要做任何其他事情,你可能仍然需要一个自定义 - dealloc。例如,注解jrturton提到的通知等。

您可以很好地了解在Apple官方notes转换到ARC时需要考虑的内容。