【发布时间】:2010-11-26 21:57:00
【问题描述】:
我正在 for 循环中创建一个自动释放池(在方法 A 中)。在循环的每次迭代中,我都会调用另一个方法(方法 B)。方法 B 将自动释放的对象返回给方法 A。如果我在方法 A 中的 for 循环中耗尽池,是否会释放从方法 B 发送的对象?
谢谢!
【问题讨论】:
标签: objective-c cocoa cocoa-touch memory-management autorelease
我正在 for 循环中创建一个自动释放池(在方法 A 中)。在循环的每次迭代中,我都会调用另一个方法(方法 B)。方法 B 将自动释放的对象返回给方法 A。如果我在方法 A 中的 for 循环中耗尽池,是否会释放从方法 B 发送的对象?
谢谢!
【问题讨论】:
标签: objective-c cocoa cocoa-touch memory-management autorelease
是的 - 任何时候发送一个对象-autorelease,它都会被添加到最高级别的自动释放池中。只要您不在方法 B 中或调用堆栈的下方创建任何新的自动释放池,方法 A 的池就应该是最高级别的池。
【讨论】: