4

実行時にアプリがクラッシュします。シミュレーターでは正常に動作しますが、iPhoneでは動作しません。

8月9日14:20:44不明なモバイル[1152]:*キャッチされなかった例外「NSInvalidArgumentException」が原因でアプリを終了しています。理由:「executeFetchRequest:error:フェッチリクエストにはエンティティが必要です。」

デバイスでは壊れてもシミュレーターでは機能する理由を特定するには、何を探す必要がありますか?

ある場所では、AppDelegateで名前が間違っている可能性があると読みました。これは、シミュレーターでの大文字と小文字の区別がないためですが、私には問題ないように見えます。

4

4 に答える 4

2

「フェッチ要求にはエンティティが必要です」

Core Data を使用している必要があり、 を呼び出している場合[fetchRequest setEntity:entity]、エンティティは nil ではないでしょうか? デバッガーで実行して、原因を追跡します。

シミュレーターからアプリを削除して、最初からやり直し、Core Data に永続ストアを強制的に構築させる必要があります。これは、デバイスとシミュレーターで異なる動作が見られる理由を説明している可能性があります

于 2012-08-09T18:30:54.983 に答える
0

エンティティに言及するときはいつでも、正しい名前を持っていることを確認してください。たとえば、私のエンティティの名前は「ワークアウト」で、誤って以下のような「ワークアウト」がありました。

 NSEntityDescription *workouts = [NSEntityDescription entityForName:@"Workouts" inManagedObjectContext:_managedObjectContext];

「ワークアウト」に置き換えると、すべてうまくいきました。

于 2013-09-21T00:00:58.543 に答える
0

MyEntityまたはのようにモデルで定義したエンティティとまったく同じ名前を呼び出しているかどうかを確認しますMyAttributes

于 2018-07-02T06:50:38.250 に答える