2010-08-22 2 views
0

есть функция OR в Objective-C?ИЛИ функция в Objective-C

, например:

if(string1 == string2 || string3 == string 4) 

|| оленья кожа, кажется, работает.

Спасибо.

+0

Вы получаете ошибку? Что это? '||' - вполне допустимый оператор в Objective C. Вы не можете сравнивать строки с '=='. См. Http://stackoverflow.com/questions/1302985/how-do-i-compare-strings-in-objective-c –

ответ

4

|| является действительным Оператором Objectivc-C и C. Он должен работать.

Try это код:

if([string1 isEqualToString:string2] || [string3 isEqualToString:string4]) 
{ 
} 
+1

Слишком много круглых скобок! – jtbandes

+0

Yap, плохая привычка :) –

+0

Извините за редактирование, но именование строки 'string' могло бы ввести в заблуждение :-) –

1

или-оператор || работает отлично, но == оператор не работает для C-строк, ни для NSString, если вы хотите проверить шнуровки равенства. Как написано, вы проверяете только равные указатели.

Вместо этого используйте:

  • strcmp() строк в стиле С
  • -isEqualToString: для NSString
+0

Единственная проблема здесь: strcmp вернет 0, если строки равны, вам придется инвертировать проверки. –

+0

Нет причин использовать strcmp в любом случае. – ZaBlanc

+0

@ ЗАБЛАН: Не могли бы вы уточнить? –

Смежные вопросы