Objective-C之为什么不要在 dealloc 中使用 self ?

因为如果子类重写了父类实例变量的set方法,子类的对象要执行dealloc的时候,会把它(子类)的实例变量都置为nil,从内存释放,然后会自动调用父类的dealloc([super dealloc]),如果父类的dealloc里面有使用self.的话,这个时候会去调用子类的set方法,如果在子类的这个重写的set方法里又去使用它(子类)的实例变量话可能就会有问题,因为这个时候子类的所有实例变量都是空了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容