我正在使用ARC。 ARC会自动释放dealloc
中的所有属性吗?是否有必要手动将所有公共属性和私有字段设置为nil
?有没有好的模式可以遵循?
答案 0 :(得分:5)
在ARC下,模式是......在dealloc中不执行任何操作,甚至不执行它。 ARC会为您处理您的属性和实例变量。
唯一的例外是,如果您的对象已注册任何通知,则dealloc是取消注册通知的好地方。
答案 1 :(得分:0)
好问题。使用ARC
时,编译器将为您实现dealloc
方法,并将隐式处理实例变量和属性的发布。
如果你的班级除了释放内存之外还需要做任何其他事情,你可能仍然需要一个自定义 - dealloc
。例如,注解jrturton提到的通知等。
您可以很好地了解在Apple官方notes转换到ARC时需要考虑的内容。