2015-04-25 8 views
6

Biorąc pod uwagę tę tablicę krotki:ekstrakcja członkiem Tuple w argumenty zamknięcia

var tupleArray = [(String, Int)]() 
tupleArray.append(("bonjour", 2)) 
tupleArray.append(("Allo", 1)) 
tupleArray.sort { (t1 , t2) -> Bool in 
    let (_, n1) = t1 
    let (_, n2) = t2 
    return n1 < n2 
} 

Chciałbym, aby zamknięcie krótszym robiąc coś takiego:

tupleArray.sort { ((_, n1) , (_, n2)) -> Bool in 
    n1 < n2 
} 

pierwsze: czy jest to możliwe?
Po drugie: jeśli to możliwe, jaka jest składnia?

Dzięki

Odpowiedz

3

Cóż, można użyć składni krótkie Zamknięcie:

tupleArray.sort { $0.1 < $1.1 } 

Zobacz the official guide o krótkim składni zamykającej, przy .1 tylko krotka dostęp indeksu.

+0

dziękuję, jestem tego świadomy, ale czy istnieje sposób, aby bezpośrednio dodać $ 0,1 do swojej własnej zmiennej? (w liście argumentów zamknięcia) –