1. ホーム
  2. iphone

[解決済み] iphone Core Data 保存時に未解決のエラーが発生する。

2022-04-23 16:06:13

質問

コアデータを保存しようとすると、変なエラーメッセージが表示されます。 しかし、このエラーは再現性がないのが問題です。

エラーメッセージ

Unresolved error Domain=NSCocoaErrorDomain Code=1560 UserInfo=0x14f5480 "Operation could not be completed. (Cocoa error 1560.)", {
NSDetailedErrors = (
Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x5406d70 "Operation could not be completed. (Cocoa error 1570.)",
Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x14f9be0 "Operation could not be completed. (Cocoa error 1570.)"
);
}

で、エラーが発生するメソッドは

- (IBAction)saveAction:(id)sender {
    NSError *error;
    if (![[self managedObjectContext] save:&error]) {
        // Handle error
        NSLog(@"Unresolved error %@, %@, %@", error, [error userInfo],[error localizedDescription]);
        exit(-1);  // Fail
    }
}

このメッセージの理由は何でしょうか?

解決方法を教えてください。

必須のプロパティにnilが割り当てられていることを意味します。.xcodatamodelで、"optional"のボックスをチェックするか、managedObjectContextに保存するときに、プロパティが入力されていることを確認します。

2つの要件に合わせてコードを変更しても、さらにエラーが発生する場合は、ビルドをクリーンにして、iPhone Simulator/iPhone デバイスからアプリケーションを削除してみてください。モデルの変更は、古いモデルの実装と衝突する可能性があります。

編集する

忘れてたけど、Core Dataが吐き出すエラーコードは以下の通り。 Core Data定数リファレンス 以前、これで困っていたのですが、正しいオプションのチェックを外していたことに気がつきました。問題を発見するのに苦労しました。がんばってください。