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?