Pergunta

Se eu fizer a seguinte coisa, isso fará vazamentos de memória?

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
Foi útil?

Solução

Não, não há vazamento no código que você postou. Todos os objetos serão lançados com autoridade quando o pool de autorlease for lavado, independentemente de a variável que mantém seus ponteiros é alterada ou não.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top