アーカイブから読み取り、含まれているファイルを解凍し、それぞれに対応するコア データ エンティティを作成するインポート シーケンスがあります。このプロセス全体がバックグラウンドで発生し、スレッドごとに個別のコンテキストが作成されるなど、すべて正常に機能します。
この特定のインポート シーケンスの望ましい機能は、入力ファイルのいずれかをパスワードで保護できるようにすることであることが判明しました (アーカイブにはいくつかのファイルが含まれています)。そのため、ファイルがパスワードで保護されているかどうかを確認する必要があります。ユーザーは、 経由でパスワードを入力するよう求められますUIAlertView
。
これが私の問題の始まりです。
UIAlertView
必要に応じてメイン スレッドにプロンプトを送信し、インポーターobject
を として割り当てdelegate
、ユーザー入力を待ちます。
ユーザーがパスワードを入力して [OK/キャンセル] をタップすると、デリゲート コールバックがまだメイン スレッド上にあるため、多くの作業 (管理対象オブジェクト ID への参照の保存など) を行わないと、対応するコア データ エンティティを操作できなくなります。文脈など)。
私の質問:
インポート プロセスが機能している元のバックグラウンド スレッドに戻ることはできますか? どうすればいいですか?
ありがとう、ログ