Bug -[__NSCFBoolean length]: unrecognized selector sent to instance

Bonjour à  tous,


 


J'ai une erreur dans mon application du type "-[__NSCFBoolean length]: unrecognized selector sent to instance", j'ai mis en place un breakpoint Exception et il me dit que l'erreur se trouve ici


cell.label_born.font=[UIFont fontWithName:@Helvetica size:12.0];


Cette instruction se trouve dans la fonction - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath .


Je ne comprends pas car je fais la même chose avec un autre label qui se trouve dans ma TableViewCell customisé.


Et ce n'est pas un soucis de la font car je l'utilise encore avant et après, il semblerait que ca soit au niveau du label hors je mets le contenu juste avant cell.label_born = @xxxx.


En tout cas, en mettant en commentaire les instructions concernant le cell.label_born , je n'ai plus de soucis!


Si quelqu'un a une idée je suis preneur car je bloque!


 


 


Réponses

  • C'est pas plutôt cell.label_born.text= @xxxx qu'il faut faire ??
  • Oui pardon faute de frappe de ma part.


    Mais en faite je crois que le problème vient de la valeur que je mettais dans cell.label_born.text, il semblerait que la valeur soit 0 et du coup j'ai mon erreur.

  • CéroceCéroce Membre, Modérateur
    Si je ne me trompe pas, NSCFBoolean est l'objet utilisé par NSNumber pour stocker un booléen (NSNumber est un "class cluster", la classe réellement utilisée peut changer). Or, NSNumber n'a pas de méthode -length. C'est ce que t'indique le message.
  • Ok bon Céroce à  répondu plus vite que moi... Mais je penses comme lui au niveau des types. Il me semble que ton soucis est plus au moment où tu set le label de ta cellule. Par exemple si tu set la valeur à  partir d'un array il se peut qu'à  un moment ton array ne contienne pas une string mais un autre type ce qui donne ce genre d'erreur.

  • Oui en faite, j'ai trouvé mon erreur


        NSDictionary *current = [orders objectAtIndex:indexPath.row];

        cell.label_born.text = [current valueForKey:@born];

    Mon JSon NSdictionnary avait une valeur 0 ce qui plantait au moment ou je changer la font.


    J'ai remplacé par ceci:


    [NSString stringWithFormat:@%@",[current valueForKey:@born]]


    J'espère que le soucis sera résolu.


    Bien à  vous en vous remerciant tous.

  • AliGatorAliGator Membre, Modérateur
    Autant appeler la méthode description plutôt que d'utiliser stringWithFormat avec un format %@ (qui sous le capot appelle la méthode "description" sur l'objet pour le transformer en string).
Connectez-vous ou Inscrivez-vous pour répondre.