4

私は自分のエンティティの 1 つの複合インデックスをいじっていました。2 つ追加し (「追加」ボタンを 2 回クリックしただけです)、すぐに削除しました (削除ボタンをクリックして)。ビルドすると、次のエラーが表示されます。

誤って構成されたエンティティ: エンティティ エンティティの複合インデックス属性で、有効なプロパティではありません。

私はすでに試しました:

  1. 派生データの削除
  2. 清掃プロジェクト
  3. Xcode を閉じる
  4. シミュレーターからのアプリの削除

対応するエンティティ クラスを再作成し、上記を繰り返す

しかし、エラーは解決しません。これを解決する方法についてのアイデアはありますか?

編集:最終的に以前のバージョンにロールバックしましたが、何が問題だったのか知りたいです。

4

6 に答える 6

2

実際には答えではありません。@smw の方法が良い方法だと思います (クリーニングも必要になる場合があります)。 )。3 年以上…本当に CoreData を使っているのか?:D

于 2015-06-10T23:24:42.673 に答える
2

Xcode 6では、これを解決する方法は、「プロジェクト」>「ビルドフォルダーのクリーン...」を選択することでした(「オプション」キーを押したときにメニュー項目が「クリーン」から変更されました)。

次に、Xcode を終了して再起動します。

于 2014-10-03T23:48:18.910 に答える
1

私も同じ問題を抱えていました。プロジェクト ディレクトリのビルド ディレクトリを削除し、~/Library/Developer/Xcode/DerivedData の下にある対応する DerivedData ディレクトリを削除して修正しました。間違いなくXcodeのバグのようです。

以前、削除した属性のインデックスを持っていましたが、Xcode の UI でインデックスがなくなっていることが示されていても、インデックスが保持されているように見えました。データ モデルの下のコンテンツ ファイルも削除されました。

于 2013-04-29T20:37:12.983 に答える
1

属性自体を削除する前に、特定の属性を参照する複合インデックスを削除することで、これを回避することができます。

複合インデックスのいずれかが単一の属性用である場合は、複合インデックス リストとは対照的に、属性に「indexed」プロパティを使用することを検討してください。そうすれば、属性を削除すると、インデックスが自動的に削除されます。

于 2015-06-23T10:27:22.277 に答える
1

私も同じ問題を抱えていました。Xcodeのバグのようです。

<app>.xcdatamodeld/<app>.xcdatamodel/contentsこの問題を解決するには、ファイルを前回正常な状態に戻さなければなりませんでした。

于 2013-03-05T08:41:11.987 に答える