Swift 3.0数组“包含”参数编译器错误

时间:2016-09-16 22:59:24

标签: arrays swift xcode closures swift3

这是导致麻烦的陈述。这在Swift 2.2中完美运行,但在3.0和Xcode 8中不起作用。

  keys = keys
        .enumerated()
        .filter { !indexesToRemove.contains($0.index) }        
        .map { $0.element }

$0.index xCode正在抛出编译器错误:

Value of tuple type '(offset: Int, element: Any)' has no member 'index'

据我所知,$ 0表示keys数组中的对象。它在谈论什么元组?

1 个答案:

答案 0 :(得分:3)

在Swift 3中,

index已更改为offset(不要问我原因):

keys = keys
    .enumerated()
    .filter { !indexesToRemove.contains($0.offset) }
    .map { $0.element }