我想知道这是否可能,也许我可以检索给定的 NSAutoreleasePool
实例中当前存储的对象的 NSSet
?
我查看了苹果的 NSAutoreleasePool
参考文档,并没有找到与此问题相关的信息。
我想知道这是否可能,也许我可以检索给定的 NSAutoreleasePool
实例中当前存储的对象的 NSSet
?
我查看了苹果的 NSAutoreleasePool
参考文档,并没有找到与此问题相关的信息。
如果仅用于调试,你可以使用函数_CFAutoreleasePoolPrintPools()
,打印池的内容,具体可参考TN2124文档。该函数在Mac OS X 10.6及iOS 3.x以上版本中可用。
或者,类方法[NSAutoreleasePool showPools]
也可以实现同样的功能。
pthread_getspecific(0x3e)
检索,但是由于这是一些内部 API,不能保证该结构在不同平台上不会被更改。既然内容已经打印到 stderr,您可以重新打开流并从中解析以获取所有指针。 - kennytmNSAutoreleasePool
是极其深奥的黑魔法。NSAutoreleasePool
。但只有为了尝试而这样做。NSExpression
(由NSPredicate
在内部使用)最终会调用目标对象上的-valueForKeyPath:
,它最终会调用-valueForKey:
,这会对于NSDictionary
执行一些特殊操作。 - Dave DeLong