Ich habe eine Schaltfläche auf mainViewController, die durch Tippen auf eine andere Ansicht öffnet.UIViewController mit den Objekten
-(void)buttonTap:(id)sender
{
GameViewController *gameViewController = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:[NSBundle mainBundle]];
Level *level = [levels objectAtIndex:currentLevelNumber];
gameViewController.level = level;
UIView *gameview = gameViewController.view;
gameview.frame = CGRectMake(0, 0, 480, 320);
CGAffineTransform rotate = CGAffineTransformMakeRotation(M_PI/2.0);
[gameview setTransform:rotate];
gameview.center = CGPointMake(160, 240);
[[self.view window] addSubview:gameview];
[gameViewController release];
gameViewController = nil;
}
Im SpielViewController habe ich eine andere Taste, um sich zu schließen.
-(IBAction)buttonTap:(id)sender
{
[self.view removeFromSuperview];
//[self.view release];
}
Ich habe einen Timer in der GameViewController, der auch noch nach dem Schließen der Ansicht ausgelöst wird. Die ViewDidUnload oder Dealloc werden überhaupt nicht ausgelöst. Dadurch wird das Spiel schließlich abgehackt. Wann und wie gibt dieser Gameviewcontroller alle darin enthaltenen Objekte frei? Ich habe überall im Internet gesucht, konnte aber nicht die richtige Antwort finden.
Irgendwie habe ich nicht E-Mail Benachrichtigung über die Antworten erhalten. Ich habe 16 Stunden verschwendet, weil ich deine Nachricht nicht früher gesehen habe. Es klingt wie der Weg zu gehen, werde ich sofort versuchen. Vielen Dank. – gangt
presentModalViewController Zeug hat nicht geholfen. Um die Sache noch schlimmer zu machen, löschte es den Inhalt meiner Hauptansicht, wenn die Modalansicht geschlossen wurde. Nicht sicher warum. Ich recherchiere immer noch. – gangt