0

これは、新しいオブジェクトを Raza エンティティに挿入するために使用しているコードです。特別なことは何もありません。アプリ全体でこのデリゲート メソッドと構文を使用しましたが、何らかの理由で、この特定のエンティティでは実行できません。

-(void)guardarRaza:(NSString *)nombre guardar:(BOOL)guardar{

        if (guardar) {
            Raza *raza = [NSEntityDescription insertNewObjectForEntityForName:@"Raza"
                                                       inManagedObjectContext:self.managedObjectContext];
            raza.nombre = nombre;            
            NSError *error;
            if (![self.managedObjectContext save:&error]) {
                NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
                abort();
            }
        }
        [self dismissModalViewControllerAnimated:YES];
    }

問題は sqlite に起因する可能性があります。これは、1 つのバージョンを使用して開始バージョンを事前設定しているためです。「Core Data Tutorial: How To Preload/Import Existing Data」というタイトルの raywenderlich メソッドに従いました。

他のエンティティでは実際にスムーズに動作しますが、その特定のエンティティを挿入して保存すると、CoreData: error: (19) PRIMARY KEY must be unique でクラッシュします。私はsqliteをチェックアウトし、新しい行を手動で挿入および削除しましたが、うまくいきました。

誰かが同じ問題を抱えているか、それを修正する方法を知っていますか。前もって感謝します

4

1 に答える 1

0

この同じエラーが発生したばかりで、この他の SO 投稿で詳しく説明した解決策を見つけました。

このコードで "CoreData: error: (19) PRIMARY KEY must be unique" エラーが発生するのはなぜですか?

于 2013-02-04T22:52:32.173 に答える