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?
lastIndex
var, 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
endIndex
muss nicht über referenziert werden self
.
last
Eigenschaft (wie sie ist first
) integriert. Es wird zurückgegeben, nil
wenn das Array leer ist.
Ab beta5
sofort gibt es ein first
und last
Eigentum
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]
}
}