enumerateObjects在NSOrderedSet上失败

时间:2016-09-13 03:53:04

标签: swift swift3

在Swift 2中,我能够做到这一点:

let foo = NSOrderedSet()  
foo.enumerateObjects {  
    obj, idx, _ in  
    ...  
}  

在Swift 3中我收到错误

Ambiguous use of 'enumerateObjects'

我不确定错误发生的原因或解决方法。

1 个答案:

答案 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)
})