不兼容的整数指向“int *”从“int”分配的指针转换

我还有另一个讨厌的警告,我想走了。 基本上,我有一个像这样的int声明: @property (nonatomic, assign) int *myInt; 并像这样设置: myInt = 0; 。 它也在实现文件中被合成。 我得到了一个警告,我设置int的值的行,它说不Incompatible intiger to pointer conversion assigning to 'int *' from 'int'. 我该怎么办才能解决这个问题?

错误信息中有一个很大的提示!

在C和Objective C中, int是一个原始数据types。 你已经写了int * ,意思是“一个指向int的指针”,而它看起来像你只是想要一个int。

所以改变你的财产:

 @property (nonatomic, assign) int myInt; 

有关更多信息,谷歌“C指针”,你会发现这样的信息: http : //pw1.netcom.com/~tjensen/ptr/pointers.htm

是的,只需从声明中删除星号( * )即可。

例如.declare BOOL isChecked而不是BOOL * isChecked

解决这个问题的另一种方法是简单地不声明一个指针(删除星号):

 @interface ViewController : UIViewController { NSUInteger myObjcInt; // unsigned ( >= 0 ) NSObject int, yo } 

int *MyInt是指向int的指针,而不是int。
正如别人告诉你的,只要删除* ,你将有一个正规的int。