В настоящее время я разрабатываю приложение для iOS, которое было запущено другим разработчиком.
Обычно я создаю свойство для каждой переменной экземпляра (присвоить int, bool и т. Д. / Сохранить для всех классов).
Итак, в моих проектах эта строка вызывает утечку:
myVar = [[NSString alloc] init]; (alloc/init +1, retain in setter +1, release in dealloc -1 => +1)
Поэтому я использую:
NSString *tmpMyVar = [[NSString alloc] init];
[self setMyVar: tmpMyVar];
[tmpMyVar release];
Or:
NSString *tmpMyVar = [[[NSString alloc] init] autorelease];
[self setMyVar: tmpMyVar];
В этом новом проекте предыдущий разработчик не использовал @ property / @ synthesize, поэтому мне интересно, каков будет результат предыдущей строки кода в этом контексте (я думаю, он не вызывает сеттер)? Утечка памяти?
Предыдущий разработчик выпускает переменную в методе dealloc, как и я.
Большое тебе спасибо!