let setOfStrings: Set<String> = ["ONE", "TWO", "THREE"];
它的行为与数组不同,因此setOfStrings[0]
不起作用。
有什么想法吗?
答案 0 :(得分:3)
您可能希望按如下方式访问该集的第一个元素:
if let first = setOfStrings.first {
print(first)
}
假设您已经熟悉:Set是无序数据结构,即:first
值不能保证为“ONE”。
您不能通过索引将集合中的元素作为整数(setOfStrings[0]
)访问,但是,由于Set表示Collection(由集合采用),SetIndex可能是什么您正在寻找,使用当前集合的Set.Index,如下所示:
let setOfStrings: Set<String> = ["ONE", "TWO", "THREE"]
// for me, it sorted as: {"THREE", "TWO", "ONE"}
let mySetIndex = setOfStrings.index(setOfStrings.startIndex, offsetBy: 1)
let secondElemnet = setOfStrings[mySetIndex] // "TWO"
请注意:
使用subscript(_:),您应该能够获得特定元素。
返回与给定索引指定距离的索引。
mySetIndex
数据类型为SetIndex<String>
。