考虑这个例子:
- (void)doSomething {
@autoreleasepool {
if (someCondition) {
/* ... allocate some autoreleased objects here ... */
return;
}
}
}
以前使用手动 NSAutoreleasePools,如果我们提前返回,我们需要调用[pool drain]
,否则池不会被耗尽。随着新@autoreleasepool {}