Ich bin neu auf iOS-Entwicklung, und ich habe ein Problem möchte Sie fragen.Fehler beim Entfernen einer Ansicht von superview
Mein Zweck ist eine Ansicht (nicht Vollbild) auf Basisansicht anzuzeigen und immer noch ein Elternteil auf der Rückseite außerhalb der Unteransicht zu sehen. So habe ich eine Subview (Unterklasse von UIViewController) auf den aktuellen Viewcontroller, dann tun, um i die subview zu öffnen:
AViewController *a = [[AViewController alloc] initWithNibName:nil bundle:nil];
[self.view addSubView:a.view];
[a release];
Hier funktioniert es und zeigen diese Subview, wie ich erwartet hatte. Auf dieser subview, sie hat Schließen-Schaltfläche diese Subview zu schließen und wie diese auf subview tun:
- (IBAction)BackTouchUp:(id)sender
{
[self.view removeFromSuperview];
}
Wenn i-Taste zum Schließen klicken, ich habe einen Fehler EXC_BAD_ACCESS. Wenn ich den [a release] -Befehl des Elternteils lösche, funktioniert es, aber es gibt einen Speicherverlust.
Können Sie mir bitte die Ursache dieses Fehlers erklären und wie Sie diesen Fall lösen können?
Danke für Antwort. Wie Sie sagten, ist eine Instanzvariable des Elternteils, oder? Aber [ein removeFromSuperview] ist im Code der Kindansicht, wie kann ich auf eine Variable des Elternteils zugreifen? – hieund
über Delegate-Methode, erstellen Sie benutzerdefinierte Delegat oder Post Notification für die gleiche. – Mangesh