0

私は自分のアプリでフェッチされたプロパティを正しく機能させるのに苦労していて、それが非常に混乱していることに気づいています-主にこの奇妙な問題のために私はついに理解しました!

基本的に、xcdatamodeldでフェッチされたプロパティの述語を変更してからビルド-実行すると、アプリはこの新しい述語を無視し、古い述語を引き続き使用します。

これがどれほど迷惑でイライラするかを説明するのは難しいですが、私がこれに最初に遭遇したわけではないと確信しています。

再構築のたびに変更を更新するようにこれを強制する方法について何かアイデアはありますか?

4

1 に答える 1

0

そうですね、AppleのCore Dataバージョン管理ガイドラインによれば、次の場合、2つのバージョンが同一であると見なされます。

  • 各エンティティについて、name、parent、isAbstract、およびpropertiesの属性が等しくなければなりません。className、userInfo、および検証述部は比較されません。

  • 各エンティティの各プロパティについて、次の属性が等しくなければなりません:name、isOptional、isTransient、isReadOnly、属性attributeType、および関係destinationEntity、minCount、maxCount、deleteRule、およびinverseRelationship。

したがって、フェッチされたプロパティの述語を変更しても、「変更」とは見なされないように見えます...非常に紛らわしいです。

コアデータモデル識別子の値を変更することで、モデルを「変更された」と見なすように強制できます。

于 2012-10-23T09:46:55.607 に答える