因为如果子类重写了父类实例变量的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宏定...