将int转换为* NSInteger

时间:2014-10-20 07:35:21

标签: ios objective-c iphone warnings

使用此时

NSInteger *myInteger = 45 ; 

我收到警告消息Incompatible Integer to pointer conversion sending 'NSInteger' (aka 'int') to parameter of type 'NSInteger *' (aka 'int *') 我已经阅读了另一篇有相同警告的帖子,但没有找到合适的解决方案。

2 个答案:

答案 0 :(得分:6)

NSInteger不是NSObject的子类,它可能看起来像是一种原始类型。将您的代码更改为:

NSInteger a = 45 ; 

并且(当然)不要将变量命名为int

答案 1 :(得分:1)

您应该使用不同的名称然后使用int,因为它是特殊基本类型整数的名称。就像那样,你不能用变量来命名变量,例如for,while,void ......只需使用另一个名称(你应该命名它以理解它的含义),如:

NSInteger myFirstInteger = 45;    

注意:在未来的项目中,请使用有意义的名称命名变量,以便创建易于理解和改进的有意义的代码片段。