Frage

Was passiert, wenn ich ein Autoreleased Objekt freigeben? Es ist ein Autoreleased UIButton Ich möchte loslassen und der einzige Weg, um eine UIButton zu schaffen, ist die convinience Methode buttonWithType verwenden :. Wird es aus dem Gedächtnis wie ein normales Objekt freigegeben werden? Oder sollte ich lass die autoreleasepool kümmern sich um sie? Ich würde es in erster Linie nicht gemacht haben Autoreleased wenn ich könnte.

Danke !!

War es hilfreich?

Lösung

Sie sollten nur der Autofreigabepool kümmern sich um sie lassen. Sobald Sie Ihre Taste zu einer übergeordneten Ansicht hinzufügen, diese Ansicht wird es behalten, und die Autoreleased Griff wird von dem Autofreigabepool gesorgt erhalten.

Der einfachste Weg, daran zu denken ist hinsichtlich der Eigentums-du nicht „eigene“ die Referenz, die Sie über eine bequeme Methode bekommen, so müssen Sie die Freigabe es nicht die Mühe machen, wenn Sie es auch behalten.

Andere Tipps

Sie müssen erst freigeben ein Objekt, das Sie besitzen. + ButtonWithType:. Kein Besitz-Objekt zurück, so dass Sie nicht loslassen muss

Überprüfen Sie die Cocoa Ownership Rules Objekt.

Warum versuchen Sie hier ein Autoreleased Objekt zu vermeiden? Vermutlich erstellen Sie auf den Button, weil Sie die Taste verwenden und es in eine Ansicht Hierarchie einfügen, so gibt es keinen wirklichen Grund, die Trockenlegung des Autofreigabepools zu beschleunigen, die die Schaltfläche enthält.

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