gpt4 book ai didi

ios - isEqualToArray或isEqualToDictionary可以比较多深?

转载 作者:行者123 更新时间:2023-12-01 17:20:21 27 4
gpt4 key购买 nike

哦,所以我在这里有很多情况。

情况1
一个NSArray字典,其键的类型为NSString,值的类型也为NSString。在这种情况下,如果我更改了数组的NSdictionary中的一个值,然后尝试将旧数组与新数组进行比较,则可以使用。 isEqualToArray返回false

案例:2
一个NSArray字典,其键类型为NSString,而某些模型对象的值类型具有name,address,DOB之类的属性。因此,如果我在模型对象(如名称)中更改一个值,并使用相同的键插入字典中。并将其与旧阵列进行比较仍然可以。 isEqualToArray返回false

现在可以继续进行下去,如果我的模型对象中有一个NSArray还是某个模型的原始类型,那会怎样? isEqualToArray是否比较对象值中的几乎所有内容(如深度序列化比较),还是必须停在某个地方?

最佳答案

比较数组时,NSArray isEqual:方法首先检查两个数组具有相同数量的元素(否则,它们显然不相同),然后依次遍历所有元素,然后依次使用isEqual:方法。因此,如果您的数组包含其他数组,字典或其他对象,则按照刚才的描述再次比较数组,将按照我将要描述的那样比较字典,并通过发送isEqual来比较其他对象。

比较字典时,NSDictionary isEqual:方法首先检查两个字典具有相同数量的键/值对。然后,它将使用第一个字典的第一个键,并且该键必须存在于第二个字典中,并且对象必须相同。然后第二个键,第三个键,依此类推。

关于ios - isEqualToArray或isEqualToDictionary可以比较多深?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31211039/

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