在我的 iPhone 应用程序中,我NSDecimalNumber
用来存储一些货币汇率值。我在第一次启动应用程序时从网络上提取数据,然后在它们过时时再次提取数据,并将它们存储在NSDictionary
; 然后我用writeToFile:atomically:
.
首次启动应用程序时,我的费率转换方法可以正常工作。然而,当我第二次启动该应用程序时,使用转换方法加载的费率-(NSDictionary*) initWithContentsOfFile:
停止工作,我得到了奇怪的结果。
我在 incriminated 方法中使用断点进行了一些调试,我发现费率数据被视为NSCFNumber
,而不是NSDecimalNumber
。因此,似乎initWithContentsOfFile
没有为我的对象分配正确的类。为了记录,这些对象的实际值,如description
方法中所示,对应于预期的速率值。
我还检查了生成的 plist 文件writeToFile:atomically:
,发现费率存储为real
; 我想知道这是否是正确的类型。
知道发生了什么吗?
在此先感谢,
戴维德