OSDN Ticket Archive


Ticket #39807

iOS版 エラーダイアログをメインスレッドで表示

登録: 2019-11-28 01:24 最終更新: 2019-11-30 11:55

報告者:
yknk
担当者:
yknk
チケットの種類:
バグ
状況:
完了
コンポーネント:
MIDITrail Ver.1.3.x for iOS
マイルストーン:
Version 1.3.1 for iOS (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

サブスレッド上でエラー表示処理 YNErrCtrl::showErr を呼び出した時、 サブスレッド上で直接アラートパネル表示処理(UIAlertViewクラスのshowメソッド)を呼び出していた。

サブスレッド上でshowメソッドを呼び出すのは適切でないため、メインスレッドから呼び出すように修正する。

macOS版の以下チケットをマージする。

  • #39722 macOS版 エラーダイアログをメインスレッドで表示

チケットの履歴 (3 件中 3 件表示)

2019-11-28 01:24 更新者: yknk
  • 新しいチケット "iOS版 エラーダイアログをメインスレッドで表示" が作成されました
2019-11-30 11:55 更新者: yknk
コメント

対策

YNErrCtrl::showErr

メインスレッドから呼び出された場合は、従来通りのアラートパネル表示を行う。 サブスレッドから呼び出された場合は、メインスレッドで非同期にエラーダイアログ表示を行うように修正する。

サブスレッドはエラー表示処理をメインスレッドに依頼した後で、アラートパネルの消去を待たずに処理を進めることになるため、 再びサブスレッドでエラー表示処理を実行する可能性がある。 このためグローバル変数にアラートパネル表示中のステータスを保持し、 アラートパネル表示中にサブスレッドでエラー表示処理が呼び出された時は、 何もせずに終了してスレッドで保持しているエラー情報をクリアする。

2019-11-30 11:55 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

添付ファイルはありません