1. ホーム
  2. iphone

[解決済み] コアデータの主キー

2023-07-20 06:59:48

質問

これは馬鹿馬鹿しいかもしれませんが、xcdatamodel ファイルで属性を主キーとしてマークする方法がまだわかりませんでした。 私の永続的なストレージは、sqlite ファイルです。 誰か私を助けることができますか?

その場合、IDが一意であることをどのように検証すればよいのでしょうか。 検証メソッドか何かを書くべきでしょうか?

どのように解決するのですか?

選択肢は以下の通りです。

  • 使用する -[NSManagedObject objectID] . この ID は、オブジェクトが初めて保存されるか、あるいは -[NSManagedObjectContext obtainPermanentIDsForObjects:error:]
  • を使用します。 CFUUID の各オブジェクトに対して UUID を生成する関数のファミリーを使います。 -awakeFromInsert メソッド
  • モデル内に整数を保存し、各オブジェクトの作成時にそれをインクリメントする、独自の主キーのようなシステムを作成します。

プロパティが一意であることを検証する良い方法はありません。最も近い方法は、作成時に一意であることを確認し、その後、カスタムセッターメソッドを実装して、IDを変更する人を阻止することです。