データモデルの連絡先とグループには2つのエンティティがあります。連絡先とグループには多対多の関係があります。アップルのコアデータマニュアルに記載されているように、私はそれらを作成しました。
私はビューアでsqliteファイルを見ましたが、3番目のテーブルでうまく見えますが、問題が1つあります。連絡先が一意ではないので、別のグループに連絡先を追加するだけで、連絡先テーブルに再び追加されます。また、関係テーブルにも追加されます。
私の連絡先をここでユニークにする最も速い方法は何ですか?
データモデルの連絡先とグループには2つのエンティティがあります。連絡先とグループには多対多の関係があります。アップルのコアデータマニュアルに記載されているように、私はそれらを作成しました。
私はビューアでsqliteファイルを見ましたが、3番目のテーブルでうまく見えますが、問題が1つあります。連絡先が一意ではないので、別のグループに連絡先を追加するだけで、連絡先テーブルに再び追加されます。また、関係テーブルにも追加されます。
私の連絡先をここでユニークにする最も速い方法は何ですか?
iOS 9より前のコアデータには、組み込みの一意性制約はありません。 iOS 9より前のコードでは、コードにContactオブジェクトが既に存在するかどうかを確認する必要があります。挿入する前に-countForFetchRequest:error:
と入力してください。
固有の制約はiOS9以降ではサポートされていますが、あまり詳しく説明されていません。 UIの制約リストに制約が必要な列を追加し、管理対象オブジェクトコンテキストで構成する必要があるマージポリシーがあることを確認するだけです。
この情報はRay Wenderlich forumsに役立つ場合があり、サンプルプロジェクトがリンクされています。