Iphone 在带有或的IF语句中使用isEqualToString

Iphone 在带有或的IF语句中使用isEqualToString,iphone,objective-c,nsstring,Iphone,Objective C,Nsstring,我将使用下一个代码检查字符串是否不等于值: if (![myString isEqualToString:@"text1"]) //DO SOMETHING 现在,我尝试将2个或更多字符串与以下代码进行比较: if (![myString isEqualToString:@"text1"] || ![myString isEqualToString:@"text2"]) //DO SOMETHING 它不工作了……当我把它分成2个IF语句时,它工作了,这里出了什么问题?你需要用|来表示OR

我将使用下一个代码检查字符串是否不等于值:

if (![myString  isEqualToString:@"text1"])
//DO SOMETHING
现在,我尝试将2个或更多字符串与以下代码进行比较:

if (![myString isEqualToString:@"text1"] || ![myString isEqualToString:@"text2"])
//DO SOMETHING

它不工作了……当我把它分成2个IF语句时,它工作了,这里出了什么问题?

你需要用
|
来表示OR

e、 g.
如果(![myString IsequalString:@“text1”]| |![myString IsequalString:@“text2”])
使用:

if (![myString isEqualToString:@"text1"] || ![myString isEqualToString:@"text2"])
但这种逻辑有些奇怪。如果它不是
text1
或它不是
text2
,则始终保证为真,因为它不能同时是两个。我强烈建议您检查您的逻辑条件

在我看来,您似乎想检查它是否不是
text1
text2
,在这种情况下,代码应该是:

if (! ([myString isEqualToString:@"text1"] || [myString isEqualToString:@"text2"]) )

如果您想在myString不是这些值中的任何一个(这里唯一有意义的事情)的情况下做一些事情,您可以使用:

 if (![myString isEqualToString:@"text1"] && ![myString isEqualToString:@"text2"])
      // DO SOMETHING

这使用了
&&
运算符,这意味着它们都必须为true。e、 g.“myString不是text1myString不是text2”。

谢谢,第二个代码正是我所需要的。@Inafziger您想解释一下最后一条评论吗?不,我只是错过了您将两个比较放在括号中的内容。:-)