不要在初始化方法和dealloc中使用访问器方法

tra*_*uan 8 iphone memory-management objective-c

我正在阅读有关内存管理的一些内容,他们不建议在初始化方法中使用访问器方法.

问题:为什么我们不应该在initilizer方法中使用访问器方法

我正在stackoverflow和其他网站上搜索有关此问题的引用.但是,我并不是很困惑.

任何人都可以就这个问题向我提出建议,或者你是否可以向我提出一个例子或一个好的参考资料,以便我可以自己去做.谢谢

jus*_*tin 2

这是我写的一个例子,它演示了两件事:

  • 如何重新排序初始化
  • 如何引入泄漏

初始化属性,点符号

尽管该示例重点关注初始化,dealloc但很容易出现类似类别的问题。举一个具体的例子:一个对象可能会在 中部分地复活dealloc,并且引用计数不平衡成为一种潜在的危险。

简而言之,您希望重点关注对象所需数据的正确初始化和清理,而不是通过任何子类来关注对象的行为问题/影响。


更多阅读:

为什么 myInstance = nil 而不是 self.myInstance = nil?

我应该在 ARC 的 init 方法中引用 self.property 吗?

为新创建的对象设置保留属性的最佳方法