gpt4 book ai didi

ios - 比较包含 NSStrings 的 NSDictionaries

转载 作者:可可西里 更新时间:2023-11-01 03:06:25 33 4
gpt4 key购买 nike

我有两个包含 NSStringsNSDictionaries。为了比较这两个词典,我使用了 isEqualToDictionary: 方法。 isEqualToDictionary: 上的文档说

“如果两个字典都包含相同数量的条目,并且对于给定的键,每个字典中相应的值对象满足 isEqual: 测试,则它们具有相同的内容。”

因此,我的字符串通过 isEqual: 方法进行比较。

问题是:
isEqual: 如何为 NSString 工作?

它是否使用 NSObject 中的 isEqual:?我读过 NSObject 中的 isEqual 只是使用 == 比较地址。为了证明或反驳这个想法,我写了一个示例:

NSString *str1 = @"sampleString";
NSString *str2 = [NSString stringWithFormat:@"%@", @"sampleString"];
BOOL result = [str1 isEqual:str2];

结果YES,但是str1str2的地址不同。
因此,要么它不使用 NSObject 中的 isEqual:(比什么?),要么 NSObjectisEqual : 做了比检查地址是否相等更复杂的事情。

有人知道它是如何工作的吗?

最佳答案

NSString 覆盖 isEqual: 以正确比较字符串,因此您完全可以通过这种方式比较字典。

关于ios - 比较包含 NSStrings 的 NSDictionaries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17757111/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com