NSMutableDictionary 内に為替レートのリストを保存しようとしています。ディクショナリのキーは通貨コード (例: @"AUD、@"CAD" など) です。値は NSDecimalNumbers であり、米ドルへの換算レートです。最初にディクショナリを作成するとき (通貨データを読み込んだ後)、これはすべて正常に機能します。ただし、辞書を保存して NSUserDefaults から再読み込みしようとすると、値は正しく返されます (辞書の NSLog によって検証されます) が、NSDecimalNumber ではなく __NSCFNumber です。
これは私が辞書を保存する方法です:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:self.exchangeRatesDict forKey:kExchangeRateDictDefaultsKey];
[userDefaults synchronize];
これは私がそれをロードする方法です:
self.exchangeRatesDict = [[userDefaults objectForKey:kExchangeRateDictDefaultsKey] mutableCopy];
NSUserDefaults に NSDecimalNumbers のリストを含む辞書を保存する方法はありますか、それとも別の方法で保存する必要がありますか?