2016-08-05 4 views
1

私はいくつかの関係(2-3)関係を追加して、コアデータ構造を変更することに決めました。どのように新しいコアデータスタックに切り替えるが、古い実装(メソッド、データ....)を保持する。新しいxcdatamodelを作成し、新しいxcdatamodelに切り替える方法はありますか?IOS既存のコアデータに何らかの関係を追加した後にコアデータを使用する方法は?

任意の助けもあり、あなたがアップルストアにすでにある既存のアプリで作業している場合、新しいデータモデルを作成するには、新しいデータモデル

を作ることは非常に重要である

答えて

1

、あなたにも変更のコードデータを通知する必要があります。このためには、「軽いマイグレーション」が必要です。 コアデータに軽量移行を実行するように指示するには、startCoreData()メソッドで永続ストアコーディネータをコンフィグレーションするときに2つのプロパティを設定する必要があります。 最初にNSMigratePersistentStoresAutomaticallyOptionをtrueにする必要があります。これは、モデルが変更されたときにコアデータにSQLiteデータベースをアップグレードするように指示します。 せmOptionsの= [NSMigratePersistentStoresAutomaticallyOption:真、 NSInferMappingModelAutomaticallyOption:真の可能性 このようoptionsDictionaryを作成する場合 第二に、NSInferMappingModelAutomaticallyOptionもモデルが変更されたときの違いを把握するためにコアデータを告げた、真であることが必要であり、適切なデフォルト値を適用します] このオプションを辞書に追加します。コーディネーターの追加辞書アドレスは、NSSiteStoreType(NSSQLiteStoreType、configuration:nil、URL:url、options:mOptions) です。

+0

こんにちは私は魔法のレコード2.3を使用しています。 [MagicalRecord setupAutoMigratingCoreDataStack]の行があります。これは同じですか? yrs提案ごとに追加のコードを作成する必要がありますか? –

+0

@LêKhánhVinh遅く返事を申し訳ありません、私はMagicalRecordで働いていません、私は移住について確信していません。探検して、あなたに戻ってください –

1

に感謝次の手順徹底行く:

  1. オープンXcodeプロジェクト/ワークスペース
  2. あなたのデータモデルファイルメニューへ
  3. Go]を選択し、 [編集]メニューをクリックします。 Add-> Add Modelバージョンをクリックします。
  4. 新しいモデルの名前を付け、以前のアクティブなバージョンをベースモデルとして選択します。
  5. 再び.xcdatamodeldを選択し、ファイルナビゲータに移動します。新しいモデルを現在のバージョンとしてマークします。
  6. 新しいデータベースモデルの作業を開始します。あなたは、データモデルを変更すると、これはあなたを助ける

ホープ:)

+0

ご協力いただきありがとうございます。私はステップを実行し、新しいxcdatamodelを作成しましたが、私の新しい関係は反映されていません。新しい関係を持つ2エンティティクラスを再作成する必要がありますか? –

+0

こんにちはKhanh Vinh エンティティクラスを再作成する必要はなく、既存のクラスに新しい関係を直接作成することができます –

+0

新しい関係を作成する方法は?私の古いコアデータには_Article.hとArticle.hの型がありますが、新しいNSmanageSubclassモデルを生成しようとすると、ArticleCategory + CoreDataProperties.hとArticle.hになります。 –

関連する問題