我正在使用下一个代码来检查string是否不等于value:
if (![myString isEqualToString:@"text1"])
//DO SOMETHING
现在我正在尝试使用此代码比较2个或更多字符串:
if (![myString isEqualToString:@"text1"] || ![myString isEqualToString:@"text2"])
//DO SOMETHING
并且它不起作用......当我把它分成2个IF语句时它的工作,这里有什么问题?
答案 0 :(得分:1)
您需要使用||
作为OR。
e.g。 if (![myString isEqualToString:@"text1"] || ![myString isEqualToString:@"text2"])
答案 1 :(得分:1)
如果你想在myString不是这些值中的任何一个时做某事(这里唯一有意义的话)你会使用:
if (![myString isEqualToString:@"text1"] && ![myString isEqualToString:@"text2"])
// DO SOMETHING
这使用&&
运算符,这意味着它们都必须为true。例如“myString不是text1 而 myString不是text2”。
答案 2 :(得分:0)
使用:
if (![myString isEqualToString:@"text1"] || ![myString isEqualToString:@"text2"])
但这种逻辑有些奇怪。如果它不是text1
或者它不是text2
总是保证是真的,因为它不能同时出现。我强烈建议您检查一下您的逻辑状况。
听起来我想检查它是不是text1
还是text2
,在这种情况下代码应该是:
if (! ([myString isEqualToString:@"text1"] || [myString isEqualToString:@"text2"]) )