52 votes

Erreur d'enregistrement des données de base (NSValidationErrorKey, erreur Cocoa 1570) lors de l'enregistrement de NSDate

J'obtiens une erreur lors de l'enregistrement dans un objet de données Core dans Xcode.

Xcode dit que l'erreur se trouve dans la variable NSDate 'datum' mais j'ai presque tout essayé. L'erreur est :

 2011-07-12 18:01:29.068 WeekLijstje[3205:207] Core Data Save Error
NSValidationErrorKey    datum
NSValidationErrorPredicate  (null)

NSValidationErrorObject
<DagLijst: 0x6e2fcd0> (entity: DagLijst; id: 0x6e2fd30 <x-coredata:///DagLijst/t99F423FC-AAE9-4692-9264-EF0FF7A020572> ; data: {
    Voedsel = nil;
    datum = nil;
    hoeveelheid = 0;
    punten = 0;
})
NSLocalizedDescription:The operation couldn't be completed. (Cocoa error 1570.)

Un petit bout de code :

         DagLijst *newDaglijst = [NSEntityDescription insertNewObjectForEntityForName:@"DagLijst" inManagedObjectContext:self.managedObjectContext];

        NSDate *selDatum = [NSDate date];
        newDaglijst.punten = [NSNumber numberWithInteger:10];
        newDaglijst.hoeveelheid = [NSNumber numberWithInt:100];
        newDaglijst.Voedsel = geselecteerdVoedsel;
        newDaglijst.datum = selDatum;
        NSError *error = nil;
        if (![newDaglijst.managedObjectContext save:&error]) {
...

Aussi la classe de l'objet DagLijst :

 @interface DagLijst : NSManagedObject {
@private
}
@property (nonatomic, retain) NSDate * datum;
@property (nonatomic, retain) NSNumber * punten;
@property (nonatomic, retain) NSNumber * hoeveelheid;
@property (nonatomic, retain) Voedsel *Voedsel;

@end

Vous pouvez donc voir que j'ai mis un NSDate dans la variable 'datum'. Mais à l'exécution, j'obtiens toujours une erreur.

0voto

htafoya Points 3207

Pas vraiment lié à la date, mais avec l'erreur, je la partage car cette question a plus de points de vue :

Dans mon cas, je définissais une BOOL directement comme YES ou NO , mais vous devriez utiliser

NSNumber nombreAvecBOOL

afin de le faire fonctionner.

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