提问人:shirjai 提问时间:10/20/2014 最后编辑:shirjai 更新时间:10/20/2014 访问量:6488
将 int 转换为 *NSInteger
Convert int to *NSInteger
问:
使用本产品时
NSInteger *myInteger = 45 ;
我收到警告消息,我阅读了另一篇带有相同警告的帖子,但没有找到适当的解决方案。Incompatible Integer to pointer conversion sending 'NSInteger' (aka 'int') to parameter of type 'NSInteger *' (aka 'int *')
答:
6赞
Andrey Chernukha
10/20/2014
#1
NSInteger
不是看起来的子类,它是一个原始类型。将您的代码更改为:NSObject
NSInteger a = 45 ;
而且(当然)不要将变量命名为 int
评论
0赞
shirjai
10/20/2014
感谢您的回复,对不起,我选错了例子。
1赞
Ersin Sezgin
10/20/2014
#2
您应该使用与 int 不同的名称,因为它是特殊基元类型整数的名称。像这样,你不能用 for、while、void...只需使用另一个名称(您应该命名它以了解它的含义),例如:
NSInteger myFirstInteger = 45;
注意:在你以后的项目中,请用一个有意义的名字来命名你的变量,这样你就可以创建一个有意义的代码段,易于理解和改进。
评论
4赞
ttarik
10/20/2014
这是不正确的,NSInteger 不应是指针。去掉前面的星号。myFirstInteger
0赞
Ersin Sezgin
10/20/2014
没错,我编辑了我的答案。我以为我在写关于 NSNumber 的错,感谢您的更正。
评论
int