アプリケーションがアクティブなコントローラーをモーダルに提示しようとしました



Application Tried Present Modally An Active Controller



今日、ビューのクラッシュを提示しようとすると問題が発生します。当然のことながら、発生してはならないビューを提示し、その後、異常な状況でアカウントが発生した場合にのみ学習したテスターとの通信を通じて、ページを開くことが表示されます。アクセサリを探し、この行に沿って探し、最終的に原因を見つけます。インターフェイスの終了後のサービスはまだ例外エラーアカウントを返すため、通知センターを介してアカウント例外ページを表示するため、このロジックは問題ではありません。しかし、実際にアカウントが異常になった場合、クラッシュが発生しました。なぜですか?次に、アカウントの例外ページが単一のケースであることが慎重に確認し、このページを提示すると、ページが表示されているかどうかの判断がありました。開いている場合は、直接戻ってください。奇妙なことは、 goが開かれました。

異常な場所でアカウントを開設したプロジェクトは、コールバック通知センターを介して実行され、最初からコールバック通知センターを探します。最終的に、この例外エラーのインターフェイスが複数のインターフェイスを返すことがわかりました。これは、ネットワーク要求が原因であるためです。はグローバルであり、何度もトリガーされる可能性もあります。クラッシュの問題は、この通知コールバックで再度トリガーされます。これは、次のように図面に関するバグのある情報とフィードバックです。




問題が見つかりました。主に現在のアカウントが存在するかどうかを判断するための解決方法を知っています。失敗するとページが異常になります。



自己presentingViewController!=なし

self.presentingViewControllerがnilに失敗したかどうかを判断し、この問題を解決するために、通知センターのコールバックが1秒遅れて、Showメソッドの例外ページを再度呼び出します。 presentingViewControllerにはすでに値があり、存在する既存のViewControllerに移動しようとはしません。