2016-11-16 11 views
1

最小の行番号を持つindexpathを取得します。このコードを使用しようとしていますが、minElementの実装方法がわかりません。swift配列でminElementを使用する方法

try self.collectionView.indexPathsForVisibleItems().minElement(<isOrderedBefore: (NSIndexPath, NSIndexPath) throws -> Bool) 
+1

ここでも同様の質問:http://stackoverflow.com/questions/40630061/get-the-smallest-indexpath-from-an-array –

答えて

0

あなたはそれが標準<と比較することができない二つのものを比較するのに役立つコードブロックをminElementを与えることができます。

struct MyIndex { 
    let row: Int 
} 

let array = [MyIndex(row: 3), MyIndex(row: 1), MyIndex(row: 2)] 

// Swift 2 
let firstIndex = array.minElement { a, b in 
    return a.row < b.row 
} 

// Swift 3 
let firstIndex = array.min { a, b in 
    return a.row < b.row 
} 

だからあなたの場合には、それは非常に似ています:ここで

構文はスウィフト2で少し異なっており、3

は、それが最低row値のMyIndex構造体が見つかった例です:

self.collectionView.indexPathsForVisibleItems().minElement { a, b in 
    return a.row < b.row 
} 
関連する問題