我知道
if([string1 isEqualToString:string2]){}
但是反过来呢?
以下是不同的组合:
测试字符串是否相等
if([string1 isEqualToString:string2]) { /* equal */ }
测试字符串是否不相等(注意!
否定条件的运算符)
if(![string1 isEqualToString:string2]) { /* not equal */ }
或者,将结果与 进行比较NO
是等效的:
if([string1 isEqualToString:string2] == NO) { /* not equal */ }
最后,如果您需要同时进行两个测试并执行一个或另一个代码
if([string1 isEqualToString:string2])
{
/* code to execute if strings are equal */
} else {
/* code to execute if strings are different */
}
您需要!
操作员:
if (![string1 isEqualToString:string2])
{
}
或者,您可以明确比较:
if ([string1 isEqualToString:string2] == NO)
{
}
它是
if(![string1 isEqualToString:string2]){}
要扩展先前的答案(当然是完全正确的),您必须了解isEqualToString:
返回 a BOOL
,它可以是YES
or NO
。
所以:
if( [ s1 isEqualToString: s2 ] )
隐含的意思:
if( [ s1 isEqualToString: s2 ] == YES )
所以你可以使用:
if( [ s1 isEqualToString: s2 ] == NO )
这与以下内容相同:
if( ![ s1 isEqualToString: s2 ] )