Сравнение между указателем и целочисленной ошибкой - PullRequest
1 голос
/ 03 мая 2010

Я получил следующую строку кода в одном из моих методов Objective C:

if (self.rule.sunday == YES) { do some stuff... }

Строка выдает следующее предупреждение компилятора:

Comparison between pointer and integer

Это просто предупреждение, так что это не опасно для жизни, но это сводит меня с ума. Ясно, что есть некое базовое понятие о целых числах, указателях и / или логических значениях, которое мне не хватает. Может кто-нибудь, пожалуйста, просветите меня, чтобы я мог исправить свой код?

Как обычно, заранее спасибо за помощь.

ОБНОВЛЕНИЕ: для справки исправленный код выглядит следующим образом:

if ([self.rule.sunday boolValue] == YES) { do some stuf... }

1 Ответ

2 голосов
/ 03 мая 2010

self.rule.sunday возвращает ссылку на объект. YES это не объект, это unsigned char. Таким образом, вы сравниваете ссылку на объект (т. Е. Адрес памяти) с 1. Конечно, он будет жаловаться на вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...