Objective-C: утечка памяти или не с несколькими назначениями с Autorelease?

StackOverflow https://stackoverflow.com/questions/4607305

Вопрос

Если я сделаю следующую вещь, это сделает утечки памяти?

SomeClass* tmp;
NSDate* thetmpdate;

tmp = [[[SomeClass alloc] init] autorelease];
thetmpdate = [NSDate date];
// Do something long with tmp and date

tmp = [[[SomeClass alloc] init] autorelease];
thetmpdate = [NSDate date];
// Do something long with tmp and date

tmp = [[[SomeClass alloc] init] autorelease];
thetmpdate = [NSDate date];
// Do something long with tmp and date
Это было полезно?

Решение

Нет, нет утечки в коде, который вы разместили. Все объекты будут автозависимы, когда пул автореляции покраснется, независимо от того, изменяется ли переменное удерживание их указателей или нет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top