Frage

Entsprechend Ein weiterer Stapelüberlaufpost das drain Nachricht ist nur ein Apple-Anruf:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello");
[pool drain];
return 0;

Ist es sicher zu ersetzen? drain mit release? Ich versuche, eine Objektiv-C-Anwendung zu portieren, die auf Linux ausgeführt wird (momentan Ubuntu). Sollte ich noch aufgeben, bevor ich angefangen habe? (Ich habe bereits Probleme, um zu bekommen NSURLConnection Arbeiten)

War es hilfreich?

Lösung

Aus Apples Dokumentation von drain:

...] Diese Methode verhält sich genauso wie die Veröffentlichung. [...

Das Abtropfen eines Autorelease -Pools bedeutet also, ihn unweigerlich zu behandeln. Meiner Meinung nach sollte Apple abbauen drain Da es nur Verwirrung erzeugt.

Aber:

Besondere Überlegungen:
In einer müllsamen Umgebung,, releaseist ein No-op, also wenn Sie dem Sammler nicht einen Hinweis geben möchten, ist es wichtig, zu verwenden drain in jedem Code, der für eine müllgesammelte Umgebung zusammengestellt werden kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top