Gn .pnsauToreleasepool Inkompatibilität
-
18-09-2019 - |
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)
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,,release
ist ein No-op, also wenn Sie dem Sammler nicht einen Hinweis geben möchten, ist es wichtig, zu verwendendrain
in jedem Code, der für eine müllgesammelte Umgebung zusammengestellt werden kann.