0

私はこれでボタンを持っています:

- (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];

運がない。助言がありますか。少し疲れていて、今から寝ようとしているので、これが不明な場合は質問してください:)

4

1 に答える 1