objective-c cocoa memory-management automatic-ref-counting

objective c - ARC-alloc en una propiedad fuerte. Crea fugas?



objective-c cocoa (1)

Esto es perfectamente válido bajo ARC.

Yo recomendaría leer la documentación de ARC para estar más cómodo confiando en lo que tiene que ofrecer. http://clang.llvm.org/docs/AutomaticReferenceCounting.html y Mike Ash tiene una excelente publicación en el blog sobre cómo funciona http://www.mikeash.com/pyblog/friday-qa-2011-09-30-automatic -reference-counts.html

En ARC, ¿crea una pérdida de memoria para alloc en un @property (strong)

// MyClass.h @property (strong) NSString *myString; // MyClass.m @synthesize myString=_myString; - (void)viewDidLoad { self.myString = [[NSString alloc] initWithFormat:@"Test %@", otherString]; }

Sé que en la gestión de memoria manual, el equivalente crearía una fuga

// MyClass.h @property (retain) NSString *myString; // MyClass.m @synthesize myString=_myString; - (void)viewDidLoad { self.myString = [[NSString alloc] initWithFormat:@"Test %@", otherString]; } - (void)dealloc { [_myString release]; }

¿ARC puede manejar correctamente el mejor ejemplo? ¿Optimiza una de las reservas? ¿O tal vez liberar dos veces en el trato?