Hallo Forum,
ich verstehe gerade nur noch Bahnhof und suche Erleuchtung
Ich habe eine App für das iPad (iOS 6 und XCode 4.5.2), in der mehrere Instanzen einer kleinen Klasse (UIViewController) erzeugt und dargestellt werden. Diese Instanzen werden mit einem retain versehen (in der Deklaration der property) und in einem NSMutableArray gespeichert.
Da ich beim Löschen einen Speicherfehler bekomme, habe ich einmal in der Methode dealloc vom Objekt DroppedItem und in der Löschmethode Haltepunkte gesetzt. Gelöscht wird hier:
Laut Doku erwarte ich beim letzten Befehl (removeFromSuperview), das dort auch das Objekt released wird.
Wie geht das denn??
Wenn das Objekt gar nicht entfernt würde, könnte ich das ja noch verstehen. Aber wie kann das Array das dealloc aufrufen...?
ich verstehe gerade nur noch Bahnhof und suche Erleuchtung
Ich habe eine App für das iPad (iOS 6 und XCode 4.5.2), in der mehrere Instanzen einer kleinen Klasse (UIViewController) erzeugt und dargestellt werden. Diese Instanzen werden mit einem retain versehen (in der Deklaration der property) und in einem NSMutableArray gespeichert.
Da ich beim Löschen einen Speicherfehler bekomme, habe ich einmal in der Methode dealloc vom Objekt DroppedItem und in der Löschmethode Haltepunkte gesetzt. Gelöscht wird hier:
Laut Doku erwarte ich beim letzten Befehl (removeFromSuperview), das dort auch das Objekt released wird.
Erstaunlicherweise aber wird das dealloc des Objektes schon beim Löschen aus dem Array (Zeile 5) aufgerufen!If the receiver’s superview is not nil, the superview releases the receiver.
Wie geht das denn??
Wenn das Objekt gar nicht entfernt würde, könnte ich das ja noch verstehen. Aber wie kann das Array das dealloc aufrufen...?