1.清除实例变量
在runtime中使用的是这个函数.cxx_desctruct
2.清空关联属性
执行object_remove_assocations
去除和这个对象assocate
的对象(常用于category中添加带变量的属性,这也是为什么ARC下没必要remove一遍的原因 (Edit: 在ARC或MRC下都不需要remove)
3.清空引用计数表和弱引用的表
执行objc_clear_deallocating
,清空引用计数表并清除弱引用表,将所有weak引用指nil(这也就是weak变量能安全置空的所在)
网友评论