2016-12-07 9 views
0

次のコードを使用してアラートコントローラを表示していますが、上記のメッセージが表示され、アラートコントローラが応答を停止することがあります。一定?*を提示しようとしています(null)

+(void)showAlertFor:(UIViewController *)viewController Title:(NSString*)title WithMessage:(NSString *)message 
{ 

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Error" message:message preferredStyle:UIAlertControllerStyleAlert]; //Getting the alert view controller 
    UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 

    }]; 

    [alertController addAction:ok]; 

    [viewController presentViewController:alertController animated:YES completion:nil]; 
} 
+0

複数のコントローラが表示されていることを確認してください。 –

+0

これはどのように行うことができますか? – TestShroff

+0

@TestShroffあなたは同じ場所の2つの場所から 'showAlertFor'を呼び出していますか? VCを却下している間は? – PiyushRathi

答えて

0

メインスレッド上で、それを呼び出すと、あなたの問題を解決します。この

+(void)showAlertFor:(UIViewController *)viewController withTitle:(NSString*)title withMessage:(NSString *)message { 

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Error" message:message preferredStyle:UIAlertControllerStyleAlert]; //Getting the alert view controller 
    UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 

    }]; 

    [alertController addAction:ok]; 
    dispatch_async(dispatch_get_main_queue(),^{ 
    [viewController presentViewController:alertController animated:YES completion:nil]; 
    }); 
} 

を試してみてください。同時に他のコントローラを提示していないことを確認してください。

+0

これで、次の警告が表示され、問題が発生しました。「割り当て解除中にビューコントローラのビューを読み込もうとしましたが、未定義の動作が発生する可能性があります。 – TestShroff

関連する問題