Swift 2 - `indexOf` 二维数组
Swift 2 - `indexOf` 2D Array
如何在 swift 的二维数组中找到对象的索引?下面的代码给我错误:
Cannot convert value of type '[String]' to expected argument type
'@noescape ([String]) throws -> Bool'
let arrayToMatch = ["matched", "YES"]
var arrayOfArrays = [["aaa","bbb"], ["aaa","bbb"],["matched", "YES"],["matched","eee"],["ccc","ddd"]]
let findIndex = arrayOfArrays.indexOf(arrayToMatch) // 2 ??
因为indexOf
方法有一个闭包参数。它可以看起来像这样
let findIndex = arrayOfArrays.indexOf {
(stringArray) -> Bool in
return arrayToMatch == stringArray
}
但它可以缩短为简单的一行
let findIndex = arrayOfArrays.indexOf { [=11=] == arrayToMatch }
还要记住,return 值是一个可选值(returns nil 当找不到时)并且 returns 只是集合元素匹配的第一个索引。
如何在 swift 的二维数组中找到对象的索引?下面的代码给我错误:
Cannot convert value of type '[String]' to expected argument type '@noescape ([String]) throws -> Bool'
let arrayToMatch = ["matched", "YES"]
var arrayOfArrays = [["aaa","bbb"], ["aaa","bbb"],["matched", "YES"],["matched","eee"],["ccc","ddd"]]
let findIndex = arrayOfArrays.indexOf(arrayToMatch) // 2 ??
因为indexOf
方法有一个闭包参数。它可以看起来像这样
let findIndex = arrayOfArrays.indexOf {
(stringArray) -> Bool in
return arrayToMatch == stringArray
}
但它可以缩短为简单的一行
let findIndex = arrayOfArrays.indexOf { [=11=] == arrayToMatch }
还要记住,return 值是一个可选值(returns nil 当找不到时)并且 returns 只是集合元素匹配的第一个索引。