-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:返すことを理解する必要がBOOLありYESます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 に答える