Dans mon modèle de données de base, j'ai une entité avec un attribut NSNumber facultatif.Stockage du numéro NSNumber facultatif dans les données de base
Comment puis-je tester si la valeur de cet attribut est valide ou non?
Lorsque je ne vérifie rien ... ne fonctionne pas.
[self numberAttribute] == nil // always returns NO
Lorsque je teste un int de valeur nulle, cela ne fonctionne pas.
[[self numberAttribute] intValue] == 0 // always returns no
En fait, [[self numberAttribute] intValue]] quelque chose qui ressemble retours étrangement à un pointeur vers une adresse mémoire.
Quelqu'un at-il une idée de ce que je fais de mal?
EDIT: OK, le bogue était dans une partie totalement indépendante du code. NSNumber et Core Data fonctionnent exactement comme on pourrait s'y attendre. Cela dit, je vais aller avec l'approche suggérée de rendre l'attribut non-optionnel et en spécifiant 0 comme valeur par défaut.
Juste en mettant cette note ici pendant un petit moment pour quelqu'un qui regardait cette question, alors je la supprime.
Je n'ai pas encore assez de rep pour éditer, mais votre deuxième exemple de code a des parenthèses déséquilibrées (2 parenthèses d'ouverture et 3 fermant). – Mark
Merci beaucoup. Fixé. – mmc
numberAttribute est spécifié comme flottant dans le modèle de données? Comment la propriété pour numberAttribute est-elle déclarée? A quoi ressemblent les implémentations d'accesseurs (si vous n'utilisez pas d'accesseurs @dynamic.) Sans cette information, votre question est impossible à répondre avec précision. –