Dzięki! BTW, endIndexnie trzeba odwoływać się za pośrednictwem self.
Rudolf Adamkovič
14
Od Xcode6-Beta5 lastwłaściwość jest wbudowana (taka, jaka jest first). Zwraca, niljeśli tablica jest pusta.
Pang
2
Problem z tą implementacją polega na tym, że ulega awarii, jeśli tablica jest pusta.
Luca Angeletti
5
Jeśli nie jesteś pierwszy, jesteś ostatni - Ricky Bobby
Kevin Burandt
1
nie potrzebujesz tego już w Swift 3. Poniżej znajdziesz lepsze odpowiedzi. .last jest wbudowany.
sww314
101
Od beta5tamtej pory istnieje firsti lastwłaściwość
Oprócz pozyskiwania przez Array first i last, leniwe kolekcje również implementują first (i last, jeśli mogą indeksować dwukierunkowo), a także isEmpty.
Dzięki za to! Co ciekawe, szablon master / detail systemu iOS 10 w Xcode 8.3.3 nadal używa kodu w postaci x [x.count-1] - ale DUŻO dłużej - zamiast x.last.
Glenn
23
Możesz pobrać ostatni element tablicy przy użyciu lastwłaściwości.
W przeciwieństwie do funkcji removeLast ObjC, Swift 4 nie jest wystarczająco inteligentny, aby wiedzieć, czy w tablicy nie pozostały żadne elementy i ulegnie awarii, jeśli zostanie wypróbowana na pustej tablicy.
lastIndex
var, który jest dostępny w Kotlinie. Wygląda na to, że na razie będę musiał się trzymaćendIndex - 1
.Odpowiedzi:
Aktualizacja: Swift 2.0 zawiera teraz
first:T?
ilast:T?
wbudowane właściwości.Kiedy zajdzie taka potrzeba, możesz upiększyć wbudowany interfejs Swift API, udostępniając własne rozszerzenia, np .:
extension Array { var last: T { return self[self.endIndex - 1] } }
Umożliwia to teraz dostęp do ostatniego elementu w dowolnej tablicy za pomocą:
[1,5,7,9,22].last
źródło
endIndex
nie trzeba odwoływać się za pośrednictwemself
.last
właściwość jest wbudowana (taka, jaka jestfirst
). Zwraca,nil
jeśli tablica jest pusta.Od
beta5
tamtej pory istniejefirst
ilast
właściwośćźródło
Możesz pobrać ostatni element tablicy przy użyciu
last
właściwości.Kod:
let lastElement = yourArray.last
źródło
Możesz także pobrać i usunąć ostatni element z tablicy
removeLast()
Przykład:
var array = [1, 2, 3] let removed = array.removeLast() // array is [1, 2] // removed is 3
Zaczerpnięte z dokumentów Apple (to źródło wygasło, ale przykłady można znaleźć na tej stronie dokumentacji )
źródło
szybki 5:
if let last = a.last { print(last) }
źródło
edytuj dla Swift 2.2
extension Array { var last: Element { return self[self.endIndex - 1] } }
źródło