【发布时间】:2014-04-10 23:53:54
【问题描述】:
我正在尝试使用代码从 NSDictionary 解析一个整数
[activeItem setData_id:[[NSString stringWithFormat:@"%@", [dict valueForKeyPath:@"data_id"]] integerValue]];
但是,这给了我这个错误:Incompatible integer to pointer conversion sending 'NSInteger' (aka 'int') to parameter of type 'NSInteger *' (aka 'int *')
setData_id 将整数作为参数。如果我想解析为字符串,[NSString stringWithFormat:@"%@", [dict valueForKeyPath:@"data_id"]] 可以完美运行。
我在这里所做的是将 valueForKeyPath 的结果解析为一个字符串,然后从中解析一个整数。
【问题讨论】:
-
观察到一种数据类型包含
*,而另一种则没有。 -
@JamEngulfer221 发布
setData_id:的定义。 -
删除
*。你不需要指针。 -
这是一种很麻烦的数据转换方式。无需调用
stringWithFormat——只需将integerValue直接应用于valueForKeyPath的结果即可。 -
Java 也有指针,它们只是称它们为“引用”,而你无法选择是否使用它们。
标签: ios objective-c nsdictionary