访问Set元素很快,Set类型必须是可清除的。
我认为Swift只存储每个元素的散列值,但是我也可以访问原始值(不是散列)。像这样:
var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]
for genre in favoriteGenres {
print("\(genre)")
}
输出:
// Jazz
// Hip hop
// Classical
swift store如何在内存中设置类型并访问它?
你是对的,Swift存储了散列值。
默认情况下,Swift的所有基本类型(如String,Int,Double和Bool)都是可清除的,并且可以用作设置值类型或字典键类型。默认情况下,没有关联值的枚举大小写值(如枚举中所述)也是可以清除的。
如果存储自己的自定义类型,则必须符合Hashable协议。
您可以使用自己的自定义类型作为设置值类型或字典键类型,使其符合Swift标准库中的Hashable协议。符合Hashable协议的类型必须提供一个名为hashValue的gettable Int属性。[...]
在文档中,我找不到它们存储Set Types的确切方式,但据我所知,Sets
可以访问散列值。