考虑下面的例子:
- (void)doSomething {
@autoreleasepool {
if (someCondition) {
/* ... allocate some autoreleased objects here ... */
return;
}
}
}
以前,使用手动NSAutoreleasePools时,如果我们提前返回,需要调用[pool drain]
,否则池将不会被清空。
现在使用@autoreleasepool {}