Eth*_*ick 13 iphone dictionary integer objective-c nsnumber
据我所知,在Objective-C中,您只能将对象放入词典中.因此,如果我要创建一个字典,它必须拥有所有对象.这意味着我需要把我的注意力作为NSNumber,对吧?
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];
Run Code Online (Sandbox Code Playgroud)
其中varMoney是先前声明的int.我的问题是,有没有更好的方法将"int"存储在字典中而不是将其存入NSNumber?
谢谢!
编辑:04/25/13
我问这个问题已经很久了.对于将来遇到困难的人来说,有更简单的方法可以使用Apple LLVM Compiler 4.0,它在Xcode中默认为一点.(弧)
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[dictionary setObject:@1337 forKey:@"1"];
Run Code Online (Sandbox Code Playgroud)
就是这样,使用@ 1337语法快速创建NSNumber对象.与变量一起使用,所以我的上面可能变成:
[dictionary setObject:@(varMoney) forKey:@"3"];
Run Code Online (Sandbox Code Playgroud)
要么
dictionary[@"mykey"] = @1337;
Run Code Online (Sandbox Code Playgroud)
简单.
小智 5
如果您准备回归使用Core Foundation(CFDictionaries),您可以存储任何您喜欢的内容.我肯定做了字典,我把任意void*值.
你需要做更多的管道,但不是很多,并且所有记录.
归档时间: |
|
查看次数: |
9032 次 |
最近记录: |