1

我正在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,但这似乎是不必要的开销。

4

2 回答 2

4

不,您必须使用NSNumber. 这是必要的开销。

于 2012-04-25T12:02:54.703 回答
1
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:13], @"id", nil];
int integer = [[dict objectForKey:@"id"] intValue];
于 2012-04-25T12:25:12.313 回答