Question

J'essaye d'afficher un NSNumber Dans ma vue détaillée de mon application à l'aide de données de base. Actuellement, je peux le faire fonctionner avec une valeur de chaîne, mais je suis perplexe en essayant de rappeler un NSNumber. J'obtiens une erreur [__NSCFNumber Longueur] que je comprends parce que j'ai besoin de convertir le NSNumber en une chaîne? Comment pourrais-je changer le code suivant pour le faire? weightkg L'attribut d'entité contenant le nsnumber.

   [self.kgLabel setText:[self.device valueForKey:@"weightkg"]];

Merci en avance.

Était-ce utile?

La solution

Vous avez peu de contrôle sur le formatage si vous utilisez simplement stringValue pour votre NSNumber. Au lieu de cela, vous devez vous assurer de vous convertir en type de données primitives et format corrects comme vous le souhaitez:

kgLabel.text = [NSString stringWithFormat:@"%.0f kg", number.floatValue];
// --> "23 kg"

kgLabel.text = [NSString stringWithFormat:@"%.2f kg", number.floatValue];
// --> "23.43 kg"

Autres conseils

Essaye ça:

[self.kgLabel setText:[[self.device valueForKey:@"weighting"] stringValue]];

Est-ce que ça marche pour toi?

[self.kgLabel setText:[[self.device valueForKey:@"weightkg"]] stringValue];

Mise à jour: Je vais en jeter un autre:

[self.kgLabel setText:[NSString stringWithFormat:@"%@ kg" [self.device valueForKey:@"weightkg"]];

De cette façon, vous en aurez plus.

Essaye ça:

[self.kgLabel setText:[[self.device valueForKey:@"weightkg"] stringValue]];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top