そんなこと知ってる
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:
返すことを理解する必要がBOOL
ありYES
ますNO
。
そう:
if( [ s1 isEqualToString: s2 ] )
暗黙のうちに次のことを意味します。
if( [ s1 isEqualToString: s2 ] == YES )
したがって、次を使用できます。
if( [ s1 isEqualToString: s2 ] == NO )
これは次と同じです:
if( ![ s1 isEqualToString: s2 ] )