HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 与指针转换不兼容的整数将’NSInteger'(又名’int’)发送到’NSInteger *’类型的参数(又名’int *’)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用代码解析NSDictionary中的整数

[activeItem setData_id:[[NSString StringWithFormat:@“%@”,[Dict valueForKeyPath:@“data_id”]] IntegerValue]];

但是,这给了我这个错误:不兼容的整数到指针转换将’NSInteger'(又名’int’)发送到’NSInteger *’类型的参数(又名’int *’)

setData_id采用整数作为参数.如果我想解析一个字符串,[NSString StringWithFormat:@“%@”,[Dict valueForKeyPath:@“data_id”]]完美无缺.

在这里做的是将valueForKeyPath的结果解析为String,然后从中解析一个整数.

@H_197_10@

解决方法

你的setData_id:方法是如何声明的?

看起来它期望NSInteger *而不是NSInteger ……

它被声明为:

- ( void )setData_id: ( NSInteger )value;

你可以使用你的代码.

否则,它意味着它被声明为:

- ( void )setData_id: ( NSInteger * )value;

这可能是一个错字…如果你真的需要一个整数指针,那么你可以使用(假设你知道你在范围方面做了什么):

NSInteger i = [ [ NSString StringWithFormat: @"%@",[ Dict valueForKeyPath: @"data_id" ] ] IntegerValue ];
[ activeItem setData_id: &i ];

但我认为你刚刚输了一个错字,添加一个指针(NSInteger *),而你的意思是NSInteger.

注意:如果setData_id是属性,则同样适用:

@property( readwrite,assign ) NSInteger data_id;

与:

@property( readwrite,assign ) NSInteger * data_id;

我猜你写了第二个例子,然意思是第一个例子……

@H_197_10@ @H_197_10@

大佬总结

以上是大佬教程为你收集整理的ios – 与指针转换不兼容的整数将’NSInteger'(又名’int’)发送到’NSInteger *’类型的参数(又名’int *’)全部内容,希望文章能够帮你解决ios – 与指针转换不兼容的整数将’NSInteger'(又名’int’)发送到’NSInteger *’类型的参数(又名’int *’)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。