Domanda

Se faccio la seguente cosa, questo renderà le perdite di memoria?

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
È stato utile?

Soluzione

No, non c'è nessuna perdita nel codice che avete inviato. Tutti gli oggetti saranno autoreleased quando la piscina autorelease viene lavata, non importa se la variabile tenendo i loro puntatori viene modificato o meno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top