¡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.
lastIndexvar, que está disponible en Kotlin. Parece que tendría que quedarmeendIndex - 1por 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].lastfuente
endIndexno es necesario hacer referencia a través deself.lastpropiedad está integrada (como estáfirst). Vuelvenilsi la matriz está vacía.A partir de
beta5ahora hay una propiedadfirstylastfuente
Puede recuperar el último elemento de una matriz utilizando la
lastpropiedad.Código:
let lastElement = yourArray.lastfuente
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 3Tomado 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