当前位置 : 主页 > 手机开发 > 其它 >

Swift:无法使用类型'(@noescape(Int)throws – > Bool)的参数列表调用’filter’

来源:互联网 收集:自由互联 发布时间:2021-06-11
我遇到了这个错误: func compactCoords(coords: [Int]) - [Int]{ return coords.filter({ (value) - Bool in return value != 0 })} 无法使用类型为'(@noescape(Int)throws – Bool)’的参数列表调用’filter’ 谢谢你的帮助
我遇到了这个错误:

func compactCoords(coords: [Int]) -> [Int]{
    return coords.filter({ (value) -> Bool in
        return value != 0
    })
}

无法使用类型为'(@noescape(Int)throws – > Bool)’的参数列表调用’filter’

谢谢你的帮助!

您的代码在Xcode 7.1中运行良好.您可能不小心尝试在Xcode 6.x中运行此代码?

你可以像这样缩短你的功能:

func compactCoords(coords: [Int]) -> [Int] {
    return coords.filter { $0 != 0 }
}

输出:

let coords = [1,2,3,0,4,5,6]
let compactedCoords = compactCoords(coords) // [1, 2, 3, 4, 5, 6]
网友评论