Ich kann dies tun:
var a = [1,5,7,9,22]
a.count // 5
a[a.count - 1] // 22
a[a.endIndex - 1] // 22
aber sicher gibt es einen schöneren Weg?
Ich kann dies tun:
var a = [1,5,7,9,22]
a.count // 5
a[a.count - 1] // 22
a[a.endIndex - 1] // 22
aber sicher gibt es einen schöneren Weg?
lastIndexvar, das in Kotlin erhältlich ist. Scheint, als müsste ich mich vorerst daran halten endIndex - 1.
Antworten:
Update: Swift 2.0 enthält jetzt first:T?und last:T?Eigenschaften eingebaut.
Bei Bedarf können Sie die integrierte Swift-API hübscher gestalten, indem Sie Ihre eigenen Erweiterungen bereitstellen, z.
extension Array {
var last: T {
return self[self.endIndex - 1]
}
}
Auf diese Weise können Sie jetzt auf das letzte Element eines Arrays zugreifen mit:
[1,5,7,9,22].last
endIndexmuss nicht über referenziert werden self.
lastEigenschaft (wie sie ist first) integriert. Es wird zurückgegeben, nilwenn das Array leer ist.
Ab beta5sofort gibt es ein firstund lastEigentum
Zusätzlich zur ersten und letzten Array-Erfassung implementieren die Lazy-Sammlungen auch first (und last, wenn sie bidirektional indizieren können) sowie isEmpty.
Sie können auch das letzte Element aus dem Array abrufen und entfernen
removeLast()
Beispiel:
var array = [1, 2, 3]
let removed = array.removeLast()
// array is [1, 2]
// removed is 3
Entnommen aus Apple-Dokumenten (diese Quelle ist abgelaufen, aber Beispiele finden Sie auf dieser Dokumentationsseite )
schnell 5:
if let last = a.last {
print(last)
}
schnell bearbeiten 2.2
extension Array {
var last: Element {
return self[self.endIndex - 1]
}
}