¡Gracias! Por cierto, endIndexno es necesario hacer referencia a través de self.
Rudolf Adamkovič
14
A partir de Xcode6-Beta5, la lastpropiedad está integrada (como está first). Vuelve nilsi la matriz está vacía.
Pang
2
El problema con esta implementación es que se bloquea si el Array está vacío.
Luca Angeletti
5
Si no eres el primero, eres el último - Ricky Bobby
Kevin Burandt
1
ya no lo necesita en Swift 3. Consulte a continuación para obtener mejores respuestas. .last está incorporado.
sww314
101
A partir de beta5ahora hay una propiedad firstylast
Además de que Array adquiere primero y último, las colecciones perezosas también implementan primero (y último si pueden indexar bidireccionalmente), así como isEmpty.
Sería bueno incluir un enlace a esta documentación
tim peterson
1
no me digas, dile a @ joseph.hainline :)
Erik Aigner
Sería bueno con un ejemplo
KML
¡Gracias por esto! Curiosamente, la plantilla maestra / detallada de iOS 10 en Xcode 8.3.3 todavía usa código de la forma x [x.count-1], pero MUCHO más largo, en lugar de x.last.
Glenn
23
Puede recuperar el último elemento de una matriz utilizando la lastpropiedad.
A diferencia de la función removeLast de ObjC, Swift 4 no es lo suficientemente inteligente como para saber si no quedan elementos en la matriz y se bloqueará si se prueba en una matriz vacía.
lastIndex
var, que está disponible en Kotlin. Parece que tendría que quedarmeendIndex - 1
por ahora.Respuestas:
Actualización: Swift 2.0 incluye ahora
first:T?
ylast:T?
propiedades incorporadas.Cuando lo necesite, puede hacer que la API Swift incorporada sea más bonita proporcionando sus propias extensiones, por ejemplo:
extension Array { var last: T { return self[self.endIndex - 1] } }
Esto le permite ahora acceder al último elemento en cualquier matriz con:
[1,5,7,9,22].last
fuente
endIndex
no es necesario hacer referencia a través deself
.last
propiedad está integrada (como estáfirst
). Vuelvenil
si la matriz está vacía.A partir de
beta5
ahora hay una propiedadfirst
ylast
fuente
Puede recuperar el último elemento de una matriz utilizando la
last
propiedad.Código:
let lastElement = yourArray.last
fuente
También puede obtener y eliminar el último elemento de la matriz
removeLast()
Ejemplo:
var array = [1, 2, 3] let removed = array.removeLast() // array is [1, 2] // removed is 3
Tomado de documentos de Apple (esta fuente caducó, pero puede encontrar ejemplos en esta página de documentación )
fuente
rápido 5:
if let last = a.last { print(last) }
fuente
editar para swift 2.2
extension Array { var last: Element { return self[self.endIndex - 1] } }
fuente