2010-08-22 70 views
0

Objective-C中有OR函數嗎?目標-C中的OR函數

例如:

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

||犯規似乎工作。

謝謝。

+0

你得到一個錯誤?它是什麼? Objective-C中'||'是一個完全有效的運算符,但不能將字符串與'=='進行比較。請參閱:http://stackoverflow.com/questions/1302985/how-do-i-compare-strings-in-objective-c – 2010-08-22 17:13:55

回答

4

||是一個有效的Objectivc-C和C操作員。它應該工作。

嘗試是代碼:

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

太多括號! – jtbandes 2010-08-22 17:14:50

+0

邑,壞習慣:) – 2010-08-22 17:16:48

+0

抱歉編輯,但命名字符串'字符串'本來可能會誤導:-) – 2010-08-22 17:21:42

1

的或運營商||工作正常,但==運營商如果要測試字符串平等不適用於C-字符串,也不是爲NSString工作。正如你寫的,你只測試指針是否相等。

而是使用:

  • strcmp()對於C風格的字符串
  • -isEqualToString:NSString
+0

這裏唯一的問題是strcmp將返回0如果字符串是相等的,你必須反轉檢查。 – 2010-08-22 17:29:11

+0

無論如何沒有理由使用strcmp。 – ZaBlanc 2010-08-23 15:48:03

+0

@ZaBlanc:你能更具體嗎? – 2010-08-23 18:55:17