Frage

Ich versuche a anzuzeigen NSNumber In meiner Detailansicht meiner Anwendung mithilfe von Kerndaten. Derzeit kann ich es mit einem String -Wert zum Laufen bringen, aber ich bin verblüfft, wenn ich versuche, mich an eine NSNumber zu erinnern. Ich bekomme einen [__nscfnumber -Länge] -Fehler, den ich verstehe, weil ich die NSNumber in eine Zeichenfolge konvertieren muss? Wie würde ich den folgenden Code dafür ändern? weightkg ist das Entitätsattribut, das das enthält nsnumber.

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

Danke im Voraus.

War es hilfreich?

Lösung

Sie haben wenig Kontrolle über die Formatierung, wenn Sie nur verwenden stringValue für dein NSNumber. Stattdessen sollten Sie sicherstellen, dass Sie wie gewünscht in den richtigen primitiven Datentyp und das richtige Format umwandeln:

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

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

Andere Tipps

Versuche dies:

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

Geht das für dich?

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

Aktualisieren: Ich werde einen anderen einwerfen:

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

Auf diese Weise werden Sie mehr bekommen.

Versuche dies:

[self.kgLabel setText:[[self.device valueForKey:@"weightkg"] stringValue]];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top