在我正在阅读的书中,它谈到了强制NSAutoreleasePool
排水。这是否意味着创建一个本地NSAutoreleasePool
然后排空它,而不是排空已经存在的那个?也就是说,我可以不排水NSAutoreleasePool
两次或多次吗?
问问题
211 次
1 回答
2
不,您不能多次耗尽自动释放池。
这是否意味着创建一个本地 NSAutoreleasePool 然后将其耗尽
是的。要么制作一个新池并将其排干,要么(甚至更好)使用@autoreleasepool
.
我们不能两次或多次耗尽 NSAutoreleasePool 吗?
正确的。 状态的文档drain
:
在引用计数环境中,此方法的行为与发布相同。由于无法保留自动释放池(请参阅保留),因此这会导致接收器被释放。
由于自动释放池在第一次调用后被释放drain
,因此在之后调用任何方法都是无效的,drain
包括在内。
于 2012-05-13T19:50:31.020 回答