В ARC, это создает утечку памяти до alloc
в @property (strong)
// MyClass.h
@property (strong) NSString *myString;
// MyClass.m
@synthesize myString=_myString;
- (void)viewDidLoad
{
self.myString = [[NSString alloc] initWithFormat:@"Test %@", otherString];
}
Я знаю, что при ручном управлении памятью эквивалент будет создавать утечку
// 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 правильно обработать верхний пример? Оптимизирует ли это одно из удержаний? Или, может быть, дважды выпустить в Deloloc?