Ich entwickle für iPhone, Ziel-c. Wann wird das Objekt tatsächlich freigegeben, wenn wir Autorelease verwenden - wenn der Pool für die Hauptautorelease freigegeben wird (dh die Anwendung wird beendet?) Oder sobald die lokale Funktion endet? Zum Beispiel möchte ich so etwas wie dies zu tun:Wann wird ein Objekt mit 'Autorelease' veröffentlicht?
- (void) test { MyObj* p = [[[MyObj alloc] init] autorelease]; ... // is p 'released' here? }
So ist ‚p‘, sobald die Funktion beendet wird freigegeben, oder wenn der Autofreigabepool dieses Threads freigegeben wird? Ich dachte, es war, als die lokale Funktion beendet, aber ich meinen eigenen Thread einfach und der Einrichtung eines Autofreigabepool benötigt geschaffen, die mir zweite Gedanken auf schenken, wenn dies geschieht eigentlich ..
Dank
Hier ist der Link zur Seite über Autorelease-Pools: http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmAutoreleasePools.html – Jonathon