Wie speichern Sie "int"
-Werte in NSMutableArray
oder NSMutableDictionary
? Chronische Probleme mit JSON-Daten, die als Ganzzahlen auftreten.
Sollte ich versuchen, diese Integer als NSNumber
Objekte oder nur als Strings, die die ganze Zahl enthalten, zu speichern?
Wie gefährlich ist eine "rohe" (int) Konvertierung der Zeiger, wenn ich weiß, dass die Werte immer natürliche Zahlen sind (Zahlen & gt; = 0 einschließlich Null für Null).
Die Ganzzahlen, mit denen ich immer arbeite, sind Fremdschlüssel-IDs aus einer Datenbank.
Verwenden Sie NSNumber wie folgt:
%Vor%Oder unter Verwendung der modernen Objective-C-Syntax können Sie Folgendes für Ausdrücke verwenden:
%Vor%Oder für einzelne Zahlen:
%Vor% Verwenden Sie NSNumber
Objekte (z. B. mit [NSNumber numberWithInt:value]
)
Sie müssen NSNumber
verwenden, wie andere gesagt haben, oder verwenden Sie NSString
mit der Zeichenfolgenrepräsentation der Zahl. Es spielt wirklich keine Rolle, aber die NSNumber
wird effizienter sein.
Sie können nicht einfach ein int
einwerfen, es als Zeiger interpretieren und dann auf den Ausgang zurückwerfen. Der Grund ist, dass das Objekt (dass int
als Zeiger interpretiert wird) die Nachricht retain
gesendet wird, wenn es zum Array hinzugefügt wird, und dies wird definitiv einen Absturz verursachen, da es ein ungültiger Zeiger sein wird .
Sie können auch einen Wert wie diesen hinzufügen
NSMutableArray * Werte = [NSMutableArray alloc] init];
[Werte addObject: [NSNummer numberWithInt: 23]];
Tags und Links objective-c nsmutablearray nsnumber nsmutabledictionary