在Swift 2中,我能够做到这一点:
let foo = NSOrderedSet()
foo.enumerateObjects {
obj, idx, _ in
...
}
在Swift 3中我收到错误
Ambiguous use of 'enumerateObjects'
我不确定错误发生的原因或解决方法。
答案 0 :(得分:1)
试试这样:
let foo = NSOrderedSet(array: [1, 2, 3, 1, 1, 6, 1])
for (offset,element) in foo.enumerated() {
print(offset)
print(element)
}
您也可以使用forEach执行以下操作:
foo.enumerated().forEach {
print($0.offset)
print($0.element)
}
使用enumerateObjects,正确的语法是:
foo.enumerateObjects({
(obj, idx, _) in
print(obj)
print(idx)
})