5 Stimmen

UIButton - sollen wir freigeben oder nicht?

Ich möchte eine Schaltfläche in einer Ansicht dynamisch hinzufügen. Hier ist der Code.

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

Hier habe ich die Funktion "alloc" nicht verwendet.

Die Fragen zu diesen Aussagen lauten wie folgt.

  • Wenn wir imageview für dieselbe Situation verwenden, müssen wir eine temporäre imageview-Ansicht erstellen, die der aktuellen Ansicht hinzugefügt wird, und diese freigeben. Was ist für die Schaltfläche zu tun?
  • Wie werden Schaltflächen zugewiesen und wieder freigegeben?
  • Wenn Tasten zugewiesen werden? Wie wird der Speicher verwaltet?
  • Wenn ich nun [x release]; verwende - ist das richtig oder falsch?

10voto

ACBurk Punkte 4418

Kein alloc/init oder new, so dass es automatisch freigegeben wird, wenn es nicht mehr benötigt wird. Wenn Sie es zur UIView hinzufügen, wird die Anzahl erhöht und von der Ansicht beibehalten, dann auch freigegeben, wenn die Ansicht freigegeben wird.

1voto

gerry3 Punkte 21330

Sie müssen nicht anrufen release in diesem Fall. Da Sie einen Convenience-Konstruktor verwenden, ist das Objekt, das zurückgegeben wird, ein automatisch freigegebenes Objekt.
Wenn Sie ein alloc / init Formular verwenden, sind Sie für die Freigabe des Objekts verantwortlich.

0voto

rajesh Punkte 592
UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

Mit dieser Methode können Sie die Schaltfläche nicht wieder öffnen.

anstelle der Verwendung

UIButton *x = [[UIButton alloc]init];

und dann loslassen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X