1
Swift 3 IteratorProtocol
文档说:“复制迭代器是安全的,但通过调用其迭代器的next()
方法来推进迭代器的副本可能会使该迭代器的其他副本失效。枚举集合中的元素对(Swift 3)
所以,这可能无法正常工作:
var i = set.makeIterator()
while let obji = i.next() {
var j = i
while let objj = j.next() { // Possible error : might invalidate i
...some code...
}
}
所以,我写了这个:
var objects = [Object](set)
for i in 0..<objects.count {
for j in (i+1)..<objects.count {
...some code...
}
}
但不是有没有办法做同样的事情,而不在一个数组复制集?
如果我理解正确的问题,OP需要嵌套循环枚举所有*对*集合中的元素。 –
@MartinR oops,可能是,但*对*将*随机对*由于一组的无序性质。 – vadian
@MartinR,你是对的,我需要一个嵌套循环来枚举集合中的所有元素对。我编辑了问题的标题以清楚地说明问题。 –