Wie ich verstehe, können Sie in Objective-C nur Objekte in Wörterbücher einfügen. Wenn ich also ein Wörterbuch erstellen würde, müsste es alle Objekte haben. Das bedeutet, dass ich meine NSNummer eingeben muss, oder?Speichern von Ints in einem Dictionary
Soo ...
NSNumber *testNum = [NSNumber numberWithInt:varMoney];
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
[dictionary setObject:@"OMG, Object 1!!!!" forKey:@"1"];
[dictionary setObject:@"Number two!" forKey:@"2"];
[dictionary setObject:testNum forKey:@"3"];
NSNumber *retrieved = [dictionary objectForKey:@"3"];
int newVarMoney = [retrieved intValue];
Wo varMoney ein int ist, die zuvor erklärt wurde. Meine Frage ist, gibt es eine bessere Möglichkeit, "Int" in einem Wörterbuch zu speichern, als es in eine NSNumber zu setzen?
Danke!
Edit: 04/25/13
Es ist eine lange Zeit her, seit ich diese Frage gestellt. Für Leute, die in der Zukunft stolpern, gibt es einfachere Möglichkeiten, dies mit dem Apple LLVM Compiler 4.0 zu tun, der in Xcode für ein bisschen voreingestellt war. (ARC)
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[dictionary setObject:@1337 forKey:@"1"];
Das ist es, verwenden Sie die @ 1337 Syntax, um schnell NSNumber Objekte zu erstellen. Arbeitet mit Variablen, so dass meine oben könnte geworden:
[dictionary setObject:@(varMoney) forKey:@"3"];
oder
dictionary[@"mykey"] = @1337;
Einfachere.
Sie können auch Wörterbuch tun [@ "1"] = @ 1337; – JuJoDi