因为如果子类重写了父类实例变量的set方法,子类的对象要执行dealloc的时候,会把它(子类)的实例变量都置为nil,从内存释放,然后会自动调用父类的dealloc([super dealloc]),如果父类的dealloc里面有使用self.的话,这个时候会去调用子类的set方法,如果在子类的这个重写的set方法里又去使用它(子类)的实例变量话可能就会有问题,因为这个时候子类的所有实例变量都是空了。
Objective-C之为什么不要在 dealloc 中使用 self ?
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
- 苹果官方文档翻译 《Objective-C语言编程》(Programming with Objective-C) ...
- 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
- 前言 为什么不要在init和dealloc方法中调用getter和setter:Apple在Mac与iOS中关于内...
- Objective-C 1. import的用法 拷贝文件内容可以自动防止文件的内容被重复拷贝(#define宏定...