170 votes

iphone Core Data Unresolved error while saving (erreur de données non résolues lors de la sauvegarde)

Je reçois un étrange message d'erreur de la part des données de base lorsque j'essaie d'enregistrer mais le problème est que l'erreur n'est pas reproductible (elle apparaît à différents moments en effectuant différentes tâches).

le message d'erreur :

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.)"
);
}

et la méthode qui génère l'erreur est :

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

une idée de la raison de ce message ? sachant qu'il apparaît à des moments aléatoires

0 votes

Cela pourrait vous aider : "Traitement des erreurs de "production" des données de base de l'iPhone". stackoverflow.com/questions/2262704/

0voto

Kamil Kocemba Points 724

I signifie que votre modèle n'a pas réussi à être validé, ce qui peut se produire pour un certain nombre de raisons : propriété inutilisée dans votre modèle, valeur manquante qui est marquée comme requise. Pour mieux comprendre ce qui s'est passé, placez un point d'arrêt à un endroit où vous êtes prêt à sauvegarder votre objet, et appelez l'une des fonctions suivantes validateFor... les variantes de la méthode, comme :

po [myObject validateForInsert]

Des informations plus détaillées sur le problème se trouvent dans la description de l'erreur. Une validation réussie signifie que vous n'obtiendrez aucun résultat.

0voto

Raja Points 311

Cela m'a aidé. Regarde aussi celui-là.

Vérifiez le en option dans vos objets *.xcodatamodel

-13voto

Joni Cong Points 1

Supprimez l'APP dans le simulateur et exécutez-le à nouveau. Son fonctionnement

Merci à tous !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X