Type de variable change de NSString en NSNull

Lio70

Membre expert
Club iGen
16 Janvier 2004
2 396
1 282
Bonjour,

J'ai une erreur a l'execution d'une app SQLite/CoreData ou je passe des infos d'une sheet a la fenetre principale. Je selectionne une entite sur une TableView (variables de type string) et avec elle je cree une nouvelle entite avec setValue:forKey.

Certains champs d'information sont facultatifs donc parfois certains attributs de l'entite selectionnee sont vides et la variable vaut null. Dans ce cas, la console d'Xcode m'envoie ce message:

Bloc de code:
Unacceptable type of value for attribute: property = "pieceRemarque"; desired type = NSString; given type = NSNull; value = <null>.

Donc sous pretexte que la variable vaut null, il considere que son type n'est plus NSString mais NSNull. Est-ce normal? C'est peut-etre un truc fondamental mais moi c'est la premiere fois que je vois cela. :rateau:
 
"You can either provide nil or a string"

tu ferais planter un dictionnaire mais pas le managed-object; je suis d'accord c'est une inconsistence dans l'API cocoa puisque nsnull est supposé etre un wrapper object pour null donc passer nil a une method addObject c'est un peu weirdo,
mais c'est comme cela que ca marche, mais si ca ne te convient pas tu peux toujours passer une chaine null cad une chaine vide @"" kif-kif bourricot
 
Dernière édition:
Merci

---------- Nouveau message ajouté à 19h25 ---------- Le message précédent a été envoyé à 19h14 ----------

tu peux toujours passer une chaine null cad une chaine vide @""
C'est comme ca que j'avais regle le probleme. Les data s'enregistraient correctement donc effectivement le moc ne plantait pas mais ca bloquait le dismiss de la sheet, je devais cliquer une deuxieme fois.