NSFormatter et TableView bindée en core data
cestlogique
Membre
Hello!
Je ne sais pas si ça a un rapport avec core dada et sa manière de stocker les données, mais mon NS(Number)Formatter perso me renvoie l'erreur suivante:
Je cherche à pouvoir saisir et afficher des A et des N dans mon interface, mais en les stockant respectivement sous la forme des chiffres -1 et -2.
J'ai d'abord essayé un NSNumberFormatter avec les méthodes suivantes:
Ensuite, pour essayer de débuguer, j'ai laissé tomber le formatage du chiffre et je suis parti d'un NSFormatter avec les méthodes:
D'ailleurs vos commentaires sont les bienvenus: je ne suis pas du tout sûr de savoir appeler le super avec ces doubles pointeurs ** comment on fait?? :why?:
Y a-t-il un problème dans mon code? Pourquoi Xcode se plaint-il de recevoir une string alors que c'est exactement le but du formatter??
Merci pour votre aide!
Flofl.
Je ne sais pas si ça a un rapport avec core dada et sa manière de stocker les données, mais mon NS(Number)Formatter perso me renvoie l'erreur suivante:
Unacceptable type of value for attribute: property = "valeur"; desired type = NSDecimalNumber; given type = NSCFString; value = 1.
Je cherche à pouvoir saisir et afficher des A et des N dans mon interface, mais en les stockant respectivement sous la forme des chiffres -1 et -2.
J'ai d'abord essayé un NSNumberFormatter avec les méthodes suivantes:
- (NSString *)stringFromNumber:(NSNumber *)number {<br /> if ([number intValue] == -1) return [NSString stringWithString:@"A"];<br /> if ([number intValue] == -2) return [NSString stringWithString:@"N"]; <br /> else return [number stringValue];<br />}<br /><br />-(NSNumber *)numberFromString:(NSString *)string {<br /> <br /> if ([string isEqualToString:@"A"]) return [NSNumber numberWithInt:-1];<br /> if ([string isEqualToString:@"N"]) return [NSNumber numberWithInt:-2]; <br /> else return [NSNumber numberWithFloat:[string floatValue]];<br />}<br />
Ensuite, pour essayer de débuguer, j'ai laissé tomber le formatage du chiffre et je suis parti d'un NSFormatter avec les méthodes:
- (NSString *)stringForObjectValue:(id)anObject {<br /> <br /> if ([anObject intValue] == -1) return [NSString stringWithString:@"A"];<br /> if ([anObject intValue] == -2) return [NSString stringWithString:@"N"]; <br /> else return [anObject stringValue];<br /> <br />}<br /><br />- (BOOL)getObjectValue:(id *)anObject forString:(NSString *)string errorDescription:(NSString **)error {<br /> <br /> if ([string isEqualToString:@"A"]) *anObject = [NSDecimalNumber numberWithInt:-1];<br /> if ([string isEqualToString:@"N"]) *anObject = [NSDecimalNumber numberWithInt:-2]; <br /> else [super getObjectValue:anObject forString:string errorDescription:error];<br /> return YES;<br />}<br />
D'ailleurs vos commentaires sont les bienvenus: je ne suis pas du tout sûr de savoir appeler le super avec ces doubles pointeurs ** comment on fait?? :why?:
Y a-t-il un problème dans mon code? Pourquoi Xcode se plaint-il de recevoir une string alors que c'est exactement le but du formatter??
Merci pour votre aide!
Flofl.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Et si tu essayais d'utiliser un Transformer plutôt qu'un Formater ?
Tiens, salut ClicCool!
Ca faisait une paye...
Content de te relire :adios!:
</Sans relation avec le sujet>
Excusez-moi de cette interruption :brule:
Salut Antilog,
merci de ton accueil.
Notre bindingologue en chef nous revient !
(on lui a gardé sa place bien au chaud)
Hello Monsieur ClicCool !
.
Merci Monsieur Bru
Pour un Bindingologue j'ai pas fait fort ces derniers mois.
Je me suis fait piégé par un Double-Bind qui a prolongé mon absence.
Ravi de te retrouver parmis nous ! ça fait super plaisir !
Merci Amigo
T'as encore changé ton pseudo à ce que je vois.
A quand Alexcitan ?
Je change plus, promis. ;-)
J'était pas encore là à ton départ, mais tu m'a été très utile en tant qu'archive
Sisi, il me semble bien me souvenir de ton arrivée SéoxyS ::)
Merci du compliment en tous cas.