NSAutorelease池是否可以被排空两次或多次



在我正在读的书中,它谈到了强迫NSAutoreleasePool流失。这是否意味着创建一个本地NSAutoreleasePool然后排空它,而不是排空已经存在的那个? 也就是说,我可以不两次或多次排出NSAutoreleasePool吗?

不可以,不能多次清空自动释放池。

这是否意味着创建一个本地 NSAutoreleasePool 然后将其耗尽

是的。 要么制作一个新池并将其排干,要么(甚至更好)使用 @autoreleasepool .

我们不能两次或多次耗尽 NSAutoRelease 池?

正确。 drain的文档指出:

在引用计数的环境中,此方法的行为与发布相同。由于无法保留自动释放池(请参阅保留),因此这会导致接收器被解除分配。

由于自动释放池在第一次调用drain后被解除分配,因此之后对其调用任何方法(drain包括)永远不会有效。

相关内容

  • 没有找到相关文章

最新更新