que estaba leyendo los documentos ARC en el sitio llvm: http://clang.llvm.org/docs/AutomaticReferenceCounting.html#autoreleasepoolsemántica @autoreleasepool
..en particular acerca @autoreleasepool.
En gran parte de la implementación actual usando NSAutoreleasePool, veo casos en los que el grupo se agota periódicamente durante una iteración de ciclo. ¿Cómo hacemos lo mismo con @autorelease pool, o todo se hace de alguna manera bajo el capó?
En segundo lugar, los documentos indican que si se lanza una excepción, el grupo no se vacía ... ok las excepciones son excepcionales por su nombre, pero si ocurren, es posible que desee recuperarlas sin perder una carga de memoria . Los documentos no especifican cuándo se lanzarán estos objetos.
¿Alguien tiene alguna información sobre estos puntos?
Creo que la segunda parte de su respuesta no es del todo correcta. los grupos de autorelease se autorellevan de manera efectiva en el grupo de autorrelease que estaba en vigencia cuando se asignaron. Siempre que la excepción no se propague más allá del grupo de autorrelease más externo, ningún objeto liberado automáticamente tendrá fugas. – JeremyP
@Jer Tienes razón; ¡gracias por la advertencia! –
@Bavarious - Gracias por una excelente respuesta. Es seguro, filtra la memoria en bucle mientras usa 'stringWithFormat'. –