为什么默认情况下Swift类没有可以删除?

时间:2017-06-05 21:44:26

标签: swift class

类具有标识,并且它们的hashValue可以很容易地成为它们在内存中的地址。为什么不是这样?

1 个答案:

答案 0 :(得分:1)

因为基于身份的hashValue是没有意义的。这是一个例子:

假设我正在组合来自两个不同来源的两组数据并检查重复项。一种常见的方法是将两者都添加到Set。这些对象肯定具有唯一的身份(即不同的地址)。如果这暗示他们也有唯一的hashValues,那么将不会检测到任何重复。使用Set进行重复处理的全部原因首先是因为hashValue意味着重复内容的定义。你的建议会打破这个。