嗨,我想了解Objective-C中drain、release、dealloc和retain之间的区别。
嗨,我想了解Objective-C中drain、release、dealloc和retain之间的区别。
retain
增加对象的引用计数release
减少对象的引用计数drain
只用于NSAutoreleasePool对象,用于替代release,由于Objective C垃圾回收机制相关的某些秘密。dealloc
系统在一个对象的retainCount 归零时调用它。这是你清理对象所拥有(如析构器或终结器)的各种东西的地方。你不应直接调用它,除了在dealloc
例程的结尾处调用[super dealloc]
之外。您真的应该阅读一遍苹果公司的内存管理文档。