2009-08-06 5 views
0

Ich habe ein Objekt, das ein Kind von UIImageView ist. Bevor all diese Methoden berührt werden, füge ich dieses Objekt der Superansicht hinzu und der Benutzer verschiebt es dann. In BerührungenEnge, manchmal möchte ich Selbst loslassen. Ich habe versucht:Wie kann ich self (UIImageView) in touchesEnded freigeben?

- [self release] 

oder

- [self removeFromSuperview] 

Aber alle diese Versuche in Ausnahmen enden. Was ist der richtige Weg, um sich selbst zu befreien?

+1

Sie nicht. Stellen Sie beim Hinzufügen der Superansicht sicher, dass sie automatisch freigegeben wurde, oder geben Sie die Referenz unmittelbar nach dem Hinzufügen frei. Wenn Sie [self removeFromSuperview] ausführen, wird die Superansicht es für Sie freigeben. –

+1

Das habe ich gemacht! Ich habe gerade gefunden, wo das Problem war. Ich bewegte [Super Dealloc] in Dealloc-Methode von der ersten Zeile bis zum Ende von Dealloc und es funktioniert jetzt :) Vielen Dank –

+0

Oh yeah, [Super Dealloc] muss immer das letzte Ding in Ihrer Dealloc-Methode sein, sonst wird Ihr Objekt weg sein, wenn die Methode zurückkommt :) –

Antwort

0

Sie können self nicht freigeben. self ist die Hauptansicht und wenn Sie ein Objekt aus UIImageView entfernen möchten, müssen Sie es mit diesem Objektnamen entfernen. [objNameSubViewOFUIImageView removeFromSuperview]

Verwandte Themen