-4

我知道

if([string1 isEqualToString:string2]){}

但是反过来呢?

4

4 回答 4

4

以下是不同的组合:

  • 测试字符串是否相等

    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 */
    }
    
于 2012-09-23T21:29:52.450 回答
3

您需要!操作员:

if (![string1 isEqualToString:string2])
{
}

或者,您可以明确比较:

if ([string1 isEqualToString:string2] == NO)
{
}
于 2012-09-23T21:29:07.583 回答
0

它是

if(![string1 isEqualToString:string2]){}
于 2012-09-23T21:28:46.257 回答
0

要扩展先前的答案(当然是完全正确的),您必须了解isEqualToString:返回 a BOOL,它可以是YESor NO

所以:

if( [ s1 isEqualToString: s2 ] )

隐含的意思:

if( [ s1 isEqualToString: s2 ] == YES )

所以你可以使用:

if( [ s1 isEqualToString: s2 ] == NO )

这与以下内容相同:

if( ![ s1 isEqualToString: s2 ] )
于 2012-09-23T21:43:34.150 回答