从 plist/dictionary 转换为 NSNumber 时出错

Posted

技术标签:

【中文标题】从 plist/dictionary 转换为 NSNumber 时出错【英文标题】:error converting from plist/dictionary to NSNumber 【发布时间】:2012-04-18 23:49:54 【问题描述】:

我有一个包含一些默认值的 plist 文件,

我的目标是在运行时将这些值复制到一个对象中,

一半的值没问题,其他的设置成废话^^

列表:

<dict>
...
<key>averageCostDevelopPerApp</key>
<integer>50000</integer>
...
</dict>

在调试器中打印字典:

averageCostDevelopPerApp = 50000;

在调试器中打印我的对象:

averageCostDevelopPerApp = "-15536​​";

averageCostDevelopPerApp 声明如下:

@property (nonatomic, retain) NSNumber * averageCostDevelopPerApp;

这里是我在对象中设置数据的地方:

[self setAverageCostDevelopPerApp: [dictionary objectForKey:@"averageCostDevelopPerApp"]];

我做了一些挖掘以及 objectforKey 在“__NSCFNumber”中返回的内容。

我猜我必须做一些转换,但我想不通。

【问题讨论】:

【参考方案1】:

对不起那些家伙,

在@1am 编码 12 小时后突然发现,在数据模型中,属性设置为 intger16...

【讨论】:

以上是关于从 plist/dictionary 转换为 NSNumber 时出错的主要内容,如果未能解决你的问题,请参考以下文章

从 timestamp[us, tz=Etc/UTC] 转换为 timestamp[ns] 会导致时间戳越界

在 Python Pandas DataFrame 中将 timedelta64[ns] 列转换为秒

TypeError:无法将值 dtype('<M8[ns]') 转换为 TensorFlow DType

Pandas 过滤并转换为 Date 到 datetime64ns

正确地将 info.plist 条目转换为 NS* 类型

将 datetime64[ns] 索引转换为日期 pandas 以进行比较