xcode - @autoreleasepool sin ARC?
xcode4.2 automatic-ref-counting (1)
Soy nuevo en Xcode 4.2, y todavía no estoy al día con ARC. Sin embargo, sí leí que @autoreleasepool reemplaza el uso manual de los grupos de autorelease y hace algo de magia especial debajo del capó para jugar bien con ARC.
Sin embargo, cuando comienzo un nuevo proyecto en Xcode 4.2 específicamente con la opción ARC desactivada , sigo recibiendo declaraciones de @autoreleasepool en el código de la plantilla.
¿Cuál es el trato aquí?
Desde http://clang.llvm.org/docs/AutomaticReferenceCounting.html#autoreleasepool :
@autoreleasepool
se puede usar en unidades de traducción que no sean ARC, con semántica equivalente.
El
@autoreleasepool { ... }
LLVM 3.0 es mucho más rápido que NSAutorelease si su objetivo de implementación es lo suficientemente nuevo. No requiere ARC. (...) siempre funciona, pero es más rápido con el destino de implementación de OS X 10.7 o iOS 5.0.
Por lo tanto, puede usar @autoreleasepool
independientemente de ARC, y será más rápido que NSAutoreleasePool
en OS X v10.7 + e iOS 5.0+.