我正在使用NSUserDefaults
为我的应用程序存储一些整数设置,但我想使用以下代码注册这些设置的默认值:
NSDictionary *appDefaults = [[NSDictionary alloc] initWithObjectsAndKeys:(NSInteger)0, @"PMChordColour", (NSInteger)1, @"PMTextColour", (NSInteger)0, @"PMBackgroundColour", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
使用
在我的应用中读取值NSInteger setColour = [[NSUserDefaults standardUserDefaults] integerForKey:@"PMChordColour"];
这个问题是NSDictionary
不允许存储标量值。
是否有任何方法可以注册允许存储整数的默认值?我意识到我可以使用NSNumber
,但这似乎是不必要的开销。
答案 0 :(得分:4)
不,你必须使用NSNumber
。这是必要的开销。
答案 1 :(得分:1)
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:13], @"id", nil];
int integer = [[dict objectForKey:@"id"] intValue];