私のiPhoneアプリでは、NSDecimalNumber
いくつかの通貨レート値を保存するために採用しています。アプリが最初に起動されたときに Web からデータを取得し、それらが廃止されたときに再度データを取得して、NSDictionary
. それから私は使用しますwriteToFile:atomically:
。
アプリを初めて起動したとき、私のレート換算方法は問題なく動作します。しかし、アプリを 2 度目に起動すると、レートが-(NSDictionary*) initWithContentsOfFile:
変換方法で読み込まれ、機能しなくなり、奇妙な結果が得られます。
問題のあるメソッドでブレークポイントを使用してデバッグを行ったところ、レート データがNSCFNumber
ではなくとして表示されることがわかりましたNSDecimalNumber
。そのinitWithContentsOfFile
ため、オブジェクトに正しいクラスが割り当てられていないようです。レコードの場合、これらのオブジェクトの実際の値は、description
メソッドに示されているように、予想されるレート値に対応しています。
によって生成された plist ファイルも確認しwriteToFile:atomically:
たところ、レートが として保存されていることがわかりましたreal
。このタイプでいいのかな。
何が起こっているのですか?
前もって感謝します、
ダビデ