管理対象ドキュメントを介して使用すると、CoreDataに問題が発生します。
複数のタブアプリケーションがあり、各タブには単一のデータベースの異なるエンティティが表示される必要があります。
管理対象ドキュメントを初期化するために、管理対象ドキュメントをインスタンス化し、作成し、開いて、plistファイルからすべてのデータを追加するヘルパークラスメソッドを作成しました。次に、このメソッドのパラメータであるブロックを呼び出します。このようにして、タブビューの1つからこれらすべてを呼び出し、fetchedResultsControllerを作成するメソッドを(ブロックごとに)渡すことができます。
+ (UIManagedDocument *)openDatabaseAndUseBlock:(completion_block_t)completionBlock;
データベースを開くのに時間がかかることがわかっているので、このようにします。開く前にFRCを設定すると、機能しません。そこで、DBを開いたときに実行されるブロックでブロックを呼び出します。
私の問題は、タブを切り替えるときに発生します。私はすべてのビューでこのヘルパーメソッド(対応するブロックを含む)を呼び出しviedDidLoad
ますが、すべての節約が行われるため、これはデータの破損につながると思います。
最初のビューでヘルパーメソッドを1回だけ呼び出してから、コンテキストを他のすべてのタブに渡して、最初にタブをすばやく切り替えても機能するようにする方法はありますか?
または、すべてのプロセスを間違って実行している可能性があります。これをすべて機能させる別の方法がありますか?私はCoreDataをまったく使用していません。
前もって感謝します!