NSFormatter et TableView bindée en core data

cestlogiquecestlogique Membre
03:00 modifié dans API AppKit #1
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:

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 />&nbsp; &nbsp; if ([number intValue] == -1) return [NSString stringWithString:@&quot;A&quot;];<br />&nbsp; &nbsp; if ([number intValue] == -2) return [NSString stringWithString:@&quot;N&quot;];&nbsp; &nbsp; &nbsp;  <br />&nbsp; &nbsp; else return [number stringValue];<br />}<br /><br />-(NSNumber *)numberFromString:(NSString *)string {<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; if ([string isEqualToString:@&quot;A&quot;]) return [NSNumber numberWithInt:-1];<br />&nbsp; &nbsp; if ([string isEqualToString:@&quot;N&quot;]) return [NSNumber numberWithInt:-2]; <br />&nbsp; &nbsp; 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 />&nbsp; &nbsp; <br />&nbsp; &nbsp; if ([anObject intValue] == -1) return [NSString stringWithString:@&quot;A&quot;];<br />&nbsp; &nbsp; if ([anObject intValue] == -2) return [NSString stringWithString:@&quot;N&quot;];&nbsp; &nbsp; &nbsp;  <br />&nbsp; &nbsp; else return [anObject stringValue];<br />&nbsp; &nbsp; <br />}<br /><br />- (BOOL)getObjectValue:(id *)anObject forString:(NSString *)string errorDescription:(NSString **)error {<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; if ([string isEqualToString:@&quot;A&quot;]) *anObject = [NSDecimalNumber numberWithInt:-1];<br />&nbsp; &nbsp; if ([string isEqualToString:@&quot;N&quot;]) *anObject =&nbsp; [NSDecimalNumber numberWithInt:-2]; <br />&nbsp; &nbsp; else [super getObjectValue:anObject forString:string errorDescription:error];<br />&nbsp; &nbsp; 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.

Réponses

  • ClicCoolClicCool Membre
    03:00 modifié #2
    Coucou Cestlogique,

    Et si tu essayais d'utiliser un Transformer plutôt qu'un Formater ?
  • AntilogAntilog Membre
    03:00 modifié #3
    <Sans relation avec le sujet>
    Tiens, salut ClicCool!
    Ca faisait une paye...
    Content de te relire  :adios!:
    </Sans relation avec le sujet>
    Excusez-moi de cette interruption  :brule:
  • ClicCoolClicCool Membre
    03:00 modifié #4
    dans 1161243110:

    .../...
    Tiens, salut ClicCool!
    Ca faisait une paye...
    Content de te relire  :adios!:
    .../...


    Salut Antilog,
    merci de ton accueil.  ;)
  • BruBru Membre
    03:00 modifié #5
    J'en suis tout ébaubi !
    Notre bindingologue en chef nous revient !
    (on lui a gardé sa place bien au chaud)

    Hello Monsieur ClicCool !

    .
  • ClicCoolClicCool Membre
    03:00 modifié #6
    dans 1161246572:

    .../...
    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.
  • muqaddarmuqaddar Administrateur
    03:00 modifié #7
    Salut mon ami !

    Ravi de te retrouver parmis nous ! ça fait super plaisir !
  • ClicCoolClicCool Membre
    03:00 modifié #8
    dans 1161254580:

    Salut mon ami !


    Merci Amigo

    T'as encore changé ton pseudo à  ce que je vois.
    A quand Alexcitan ?
  • muqaddarmuqaddar Administrateur
    03:00 modifié #9
    dans 1161254724:

    dans 1161254580:

    Salut mon ami !


    Merci Amigo

    T'as encore changé ton pseudo à  ce que je vois.
    A quand Alexcitan ?



    Je change plus, promis. ;-)
  • elfelf Membre
    03:00 modifié #10
    Bah, profitens-on pour re-dire coucou à  ClicCool.

    J'était pas encore là  à  ton départ, mais tu m'a été très utile en tant qu'archive ;)
  • ClicCoolClicCool Membre
    03:00 modifié #11
    dans 1161273803:

    .../...
    J'était pas encore là  à  ton départ, .../...


    Sisi, il me semble bien me souvenir de ton arrivée SéoxyS  ::)

    Merci du compliment en tous cas.
Connectez-vous ou Inscrivez-vous pour répondre.