2017-03-05 10 views
0

軽量移行によって自動的に処理できるアプリケーションのデータモデルにいくつか変更を加えました。しばらくの間アプリを使用したことがあるユーザーには多くのデータがあるため、新しいバージョンをインストールするとデータの移行にかなりの時間がかかります(5〜10分ほどかかる)。私は、メッセージとアクティビティのスピナー、またはプログレスインジケーターを表示する方法を見つけたいと思います。その間、マイグレーション中にアプリケーションがフリーズしているとは思わないようにしています。 Tim Roadleyのコアデータブックには、手動による移行が必要なチュートリアルがあります。もっと簡単な方法はありますか?進捗インジケータまたはアクティビティスピナーを使用したSwift 3のコアデータ移行

答えて

1

あなたが参照している本を読んでいませんが、進行状況インジケータの後ろに軽量の移行を実行することは可能です。 Core Data Model Versioning and Data Migration Guideから:方法:

あなたはコアデータは、実際の移行の作業を行うことなく送信元と送信先のモデルの間のマッピングを推論できるかどうかを事前に決定したい場合は、NSMappingModelinferredMappingModelForSourceModel:destinationModel:errorを使用することができます。これは、Core Dataがそれを作成できる場合は推論モデルを返し、そうでない場合はnilを返します。

だから、あなたがする必要があります:移行が必要な場合

  1. を検出します。
  2. 進捗インジケータを表示し、移行を開始します。
  3. 移行が完了したら、メインUIを読み込みます。
関連する問題