@autoreleasepool without ARC?
automatic-ref-counting, xcode, xcode4.2
Solution
From http://clang.llvm.org/docs/AutomaticReferenceCounting.html#autoreleasepool:
`@autoreleasepool` may be used in non-ARC translation units, with equivalent semantics.
and Greg Parker says [1] [2]:
LLVM 3.0's `@autoreleasepool { ... }` is much faster than NSAutoreleasePool if your deployment target is new enough. No ARC required. (…) always works, but it's faster with deployment target of OS X 10.7 or iOS 5.0.
So you may use `@autoreleasepool` regardless of ARC, and it’ll be faster than `NSAutoreleasePool` on OS X v10.7+ and iOS 5.0+.
Problem
I'm new to Xcode 4.2, and I'm not yet fully up to speed on ARC. However, I did read that @autoreleasepool replaces the manual use of autorelease pools and does some special magic under the hood to play nice with ARC. Yet, when I start a new project in Xcode 4.2 specifically with the ARC option turned off I still get @autoreleasepool statements in the template code. What's the deal here?