この問題を解決するためのお手伝いができたら幸いです。私は次のコードで問題が生じています :あなたが見ることができるようにビューを適切に解放するとアプリケーションがクラッシュする
-(IBAction)swapViews:(id)sender{
myappAppDelegate *delegate = (myappAppDelegate *) [[UIApplication sharedApplication] delegate];
ThirdViewController *thirdView = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
[delegate switchView:self.view toView:thirdView.view];
[thirdView release];
}
私は私のViewControllerを割り当てられ、その後、それを発表しました。問題は、私は私のThirdViewControllerにビューを変更し、前のビューに戻って、アプリケーションがクラッシュすることを望んでいるということです。
-(IBAction)goBack:(id)sender{
myappAppDelegate *delegate = (myappAppDelegate *) [[UIApplication sharedApplication] delegate];
FirstViewController *firstView = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
[delegate switchView2:self.view toView:firstView.view];
[firstView release];
}
再び同じ問題を見る解除時:私は私の前のビューに戻って取得する方法 です。 私はビューを解放しない場合、アプリケーションがクラッシュすることはありませんが、メモリリークがたくさんあり、私は15 ViewController以上を持っているので、私は長い間それを使用すると、アプリケーションは最終的にクラッシュします。
私は間違って何をしていますか? ps:ビューのアニメーション/トランジションにデリゲートを使用しています。
ありがとうございます!
編集:のSwitchView:toView:
-(void)switchView:(UIView *)view1 toView:(UIView *)view2 {
[UIView beginAnimations:@"Animation" context:nil];
[UIView setAnimationDuration:0.75];
[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.window cache:YES];
[view1 removeFromSuperview];
[window addSubview:view2];
[UIView commitAnimations];
}
'switchView:toView:'メソッドのコードを表示します。 – jamapag
コード行ごとに4つのスペースを使用してください。 HTMLコードタグはサポートされていません(よく)。 ;-) –
[myappAppDelegate switchView:]は何をしますか?そして... [switchView2:]? – onnoweb