因为如果子类重写了父类实例变量的set方法,子类的对象要执行dealloc的时候,会把它(子类)的实例变量都置为nil,从内存释放,然后会自动调用父类的dealloc([super dealloc]),如果父类的dealloc里面有使用self.的话,这个时候会去调用子类的set方法,如果在子类的这个重写的set方法里又去使用它(子类)的实例变量话可能就会有问题,因为这个时候子类的所有实例变量都是空了。
因为如果子类重写了父类实例变量的set方法,子类的对象要执行dealloc的时候,会把它(子类)的实例变量都置为nil,从内存释放,然后会自动调用父类的dealloc([super dealloc]),如果父类的dealloc里面有使用self.的话,这个时候会去调用子类的set方法,如果在子类的这个重写的set方法里又去使用它(子类)的实例变量话可能就会有问题,因为这个时候子类的所有实例变量都是空了。
本文标题:Objective-C之为什么不要在 dealloc 中使用 s
本文链接:https://www.haomeiwen.com/subject/svlethtx.html
网友评论