NSDictionaries
を含む2 つがありNSStrings
ます。この 2 つの辞書を比較するには、isEqualToDictionary:
メソッドを使用します。ドキュメントはisEqualToDictionary:
言う
「2 つのディクショナリは、それぞれが同じ数のエントリを保持し、特定のキーについて、各ディクショナリ内の対応する値オブジェクトが isEqual: テストを満たす場合、等しい内容を持ちます。」
だから、私の文字列はメソッドによって比較されisEqual:
ます。
問題は次の
とおりisEqual:
ですNSString
。
から使用isEqual:
しNSObject
ますか?を使用してアドレスを比較するだけisEqual
でそれを読みました。この考えを証明または反証するために、私はサンプルを書きました:NSObject
==
NSString *str1 = @"sampleString";
NSString *str2 = [NSString stringWithFormat:@"%@", @"sampleString"];
BOOL result = [str1 isEqual:str2];
は、とのアドレスresult
は異なります。
したがって、 from を使用しない(これよりも?) か、または'sはアドレスの等価性をチェックするよりも複雑なことを行います。YES
str1
str2
isEqual:
NSObject
NSObject
isEqual:
それが実際にどのように機能するか知っている人はいますか?