Quero percorrer uma parte de um array em Swift, não o array inteiro com base no índice. A matriz vem de uma API, então não sei o número de elementos antecipadamente.
Por exemplo, para o array ["Joe's pizza","Sal's Pizza","Pizza Hut"]
, eu gostaria apenas de percorrer até os três primeiros (se houver três) e depois parar. Em alguns casos, o array inicial terá menos de 3 elementos e em outros casos mais de 3 dependendo do que a API retornar.
Meu código da seguinte maneira não funciona.
let myArray = ["Joe's","Sal's","Pizza Hut","Domino's","John's","Pizza King"]//from API. Could be more or less
let numElements = myArray.count
if numElements = 0 {
print("none found")
return
}
var i = 0
var str = ""
while i <= 2 {
for i in 1...numElements-1 {
print(i)
str = myArray[i]
print(str)
}//end for loop
i+=1
} // end while loop
O código imprimirá o 6 completo e não respeitará a condição while. Se eu colocar o while dentro do loop for, ele percorrerá desnecessariamente todo o Array, o que pode ser bastante longo, mesmo que eu queira apenas os 3 primeiros
Como posso limitar o intervalo usado no índice (quando não sei se a contagem real da matriz é menor ou maior que o número que estou procurando.
Obrigado por qualquer sugestão.
Você pode usar o
prefix()
método para isso, pois ele retorna um determinado número de elementos desde o início do array.