私はこれでボタンを持っています:
- (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];
運がない。助言がありますか。少し疲れていて、今から寝ようとしているので、これが不明な場合は質問してください:)