0

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

4

1 回答 1

2

不,您不能多次耗尽自动释放池。

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

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

我们不能两次或多次耗尽 NSAutoreleasePool 吗?

正确的。 状态的文档drain

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

由于自动释放池在第一次调用后被释放drain,因此在之后调用任何方法都是无效的,drain包括在内。

于 2012-05-13T19:50:31.020 回答