我的Objective-C方法中有以下一行代码:
if (self.rule.sunday == YES) { do some stuff... }
该行产生以下编译器警告:
Comparison between pointer and integer
这只是一个警告,所以它没有生命危险,但它让我疯了。显然,我缺少一些关于整数,指针和/或布尔值的基本概念。有人可以赐教我这样我可以修改我的代码吗?
像往常一样,提前感谢您的帮助。
更新:作为参考,更正后的代码如下所示:
if ([self.rule.sunday boolValue] == YES) { do some stuf... }
答案 0 :(得分:2)
self.rule.sunday
正在返回一个对象引用。 YES
不是对象,而是unsigned char
。所以你要将对象引用(即内存地址)与1
进行比较。当然它会抱怨你。