Según tengo entendido, en Objective-C solo puedes poner objetos en diccionarios. Entonces, si tuviera que crear un diccionario, tendría que tener todos los objetos. Esto significa que necesito poner mis datos como NSNumber, ¿verdad?Almacenar ints en un diccionario
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];
Dónde varMoney es un entero que se ha declarado anteriormente. Mi pregunta es, ¿hay una mejor manera de almacenar "int" en un diccionario que colocarlo en un NSNumber?
Gracias!
edición: 04/25/13
Ha sido un largo tiempo desde que hice esta pregunta. Para las personas que lo encuentren en el futuro, hay maneras más fáciles de hacerlo con el Apple LLVM Compiler 4.0, que ha sido predeterminado en Xcode por un tiempo. (ARC)
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[dictionary setObject:@1337 forKey:@"1"];
Eso es todo, utilice la sintaxis @ 1337 para crear rápidamente objetos NSNumber. Trabaja con variables, por lo que mi anterior podría llegar a ser:
[dictionary setObject:@(varMoney) forKey:@"3"];
o
dictionary[@"mykey"] = @1337;
más simple.
también se puede hacer el diccionario [@ "1"] = @ 1337; – JuJoDi