ios – 与指针转换不兼容的整数将’NSInteger'(又名’int’)发送到’NSInteger *’类型的参数(又名’int *’)

ios – 与指针转换不兼容的整数将’NSInteger'(又名’int’)发送到’NSInteger *’类型的参数(又名’int *’),第1张

概述我正在尝试使用代码解析NSDictionary中的整数 [activeItem setData_id:[[NSString stringWithFormat:@“%@”,[dict valueForKeyPath:@“data_id”]] integerValue]]; 但是,这给了我这个错误:不兼容的整数到指针转换将’NSInteger'(又名’int’)发送到’NSInteger *’类型的参 我正在尝试使用代码解析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,然后从中解析一个整数.

解决方法 你的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;

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

总结

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1109016.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存