【发布时间】:2012-12-07 00:33:34
【问题描述】:
我正在尝试将货币汇率列表保存在 NSMutableDictionary 中。字典的键是货币代码(例如:@"AUD、@"CAD" 等)值是 NSDecimalNumbers 和美元的兑换率。当我第一次创建字典时(加载货币数据后),这一切都很好来自网络服务)。但是,当我尝试保存字典并从 NSUserDefaults 重新加载它时,值会正确返回(由字典的 NSLog 验证)但它们是 __NSCFNumber 而不是 NSDecimalNumber。
这就是我保存字典的方式:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:self.exchangeRatesDict forKey:kExchangeRateDictDefaultsKey];
[userDefaults synchronize];
这是我加载它的方式:
self.exchangeRatesDict = [[userDefaults objectForKey:kExchangeRateDictDefaultsKey] mutableCopy];
有没有办法用 NSUserDefaults 中的 NSDecimalNumbers 列表保存字典,还是我需要以不同的方式保存它?
【问题讨论】:
-
你为什么打电话给
[userDefaults synchronize]?你几乎不需要真正调用它。
标签: objective-c cocoa