0

深刻な問題の原因を突き止めるために、ソースコードを元に戻してみました。

Core Dataからを削除するNSManagedObjectsと、次の提案でアプリがクラッシュします。

CoreData`_nameForEntityDescription:

NSManagedObjectの1つにエラーが表示されますが、別のsにもエラーが表示されないことに注意してくださいNSManagedObject

私はMagicalRecordを使用してコアデータのニーズを処理していますが、これが問題であるとは考えていません。この時点で、私は問題が何であるかについて非常に困惑しました。

問題が何であるかについてのヒントを私に与えることができるかもしれないコアデータの専門家はいますか?

オブジェクトのNSManagedObjectsのセットを(その関係を介して)取得しようとすると、_nameForEntityDescriptionでもまったく同じ問題が発生します。

NSSet* delSet = [NSSet setWithSet:contact.contactEmails];

したがって、NSManagedObjectモデルで何かが破損しているように見えますが、私はそれについて持っているすべてのものを調べましたが、それがどうなるかわかりません:(

4

1 に答える 1

1

過去にオブジェクトを削除するとクラッシュしました。ここには十分な詳細がないため、確認すべき一般的な事項をいくつか示します。

1)オブジェクトを削除するときは、そのオブジェクトへの未解決の参照がないことを確認してください。オブジェクトを削除した後でコンテキストを保存すると、ストア内のバッキング参照が削除されます。これは、オブジェクトのデータベースに実際のレコードがないことを意味します。次にそのオブジェクトを使用するとき、CoreDataはあなたに怒鳴ります。

2)バックグラウンドセーブをスレッド化すると、問題1が頻繁に発生します。使用できる解決策は、保存後にすべてのデータオブジェクト参照を再フェッチすることです。これにより、正しいデータと有効なオブジェクトが保証されます。MagicalRecordは、これを支援するための完了ブロックメカニズムを提供します。

ManagedObjectModelが問題であると疑われる場合は、クリーンビルドを実行し、シミュレーター/デバイスからアプリを削除して、以前のビルドアーティファクトを削除する必要があります。

于 2012-09-10T16:28:59.627 に答える