私はこれでボタンを持っています:
- (IBAction)themeBtnAction:(id)sender
{
NSString *language = [[OnlineStore sharedStore]getTheLanguage];
[[OnlineStore sharedStore]getTheThemeBaseGuides:language callback:^{
[self performSegueWithIdentifier:@"from main to themecategory" sender:self];
}]
}
しかし、ユーザーがたまたまボタンをダブルタップすると、クラッシュが発生します。UINavigationController
おそらく、次のビューコントローラーがヒープに2回ロードされているため(私の推測)、その2番目からポップで返そうとしたときに表示されるエラーメッセージUIViewController
は次のとおりです。Unbalanced calls to begin/end appearance transitions for <MySecondViewController: 0xb257b80>.
これを防ぐにはどうすればよいですか?
私はコールバック内にそれを入れようとしました:
if ([NSStringFromClass([[viewControlles lastObject] class]) isEqualToString: @"MainViewController"]) {
そして、btn のセレクター goToNextView 内でコールバックを実行しようとしました
[self performSelector:@selector(goToNextView) withObject:self afterDelay:1.0];
運がない。助言がありますか。少し疲れていて、今から寝ようとしているので、これが不明な場合は質問してください:)