使用objc_disposeClassPair()

| 运行时API中有一个未记录的函数,该函数似乎(根据一些玩具程序而定)按照其名称所暗示的那样起作用:
OBJC_EXPORT void objc_disposeClassPair(Class cls) 
     AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;
但是,详细信息在地面上很少。因此,与其说是一个问题,不如说是更多相关问题的集合: 是否有任何关于它的好的文章/博客文章,或者有人有使用它的经验(快速的Google建议PyObjC开发人员至少在某一时刻考虑使用它)? 是否完全释放了处置的类(经常创建和删除类的应用程序会泄漏内存吗?) 除了未记录的API以外,是否还有其他需要牢记的陷阱? 苹果在哪里使用(可能使用)? NSBundle正在卸载? KVO?     
已邀请:
  是否完全释放了处置的类(经常创建和删除类的应用程序会泄漏内存吗?) 是的,它们将被完全释放。如果您查看http://www.opensource.apple.com/source/objc4/objc4-437/test/classpair.m中的“ 1”函数,您会发现它既分配又取消分配了多个类。下面的“ 2”实现运行该功能100次,并检查是否存在泄漏,这表明它们不会发布泄漏严重的实现。如果您想了解更多信息,请浏览http://www.opensource.apple.com/source/objc4/objc4-437/runtime/中的代码。您可能会在某个地方以及使用它的地方找到苹果的两个函数的实际代码。     

要回复问题请先登录注册