Tengo una variedad de objetos. Cada objeto tiene una propiedad llamada número.

 struct Age {
  var position = 0 
  }

También tengo una matriz de esos objetos:

let age = Age()
let array = [age]

¿Cómo puedo agregar a la propiedad de posición el índice del elemento en la matriz?

Algo así como:

for i in array {
i.position = i.index
}

Básicamente, el primer elemento de la matriz que está en la posición 0 debería hacer que i = 0 segundo a 1, etc.

-1
Dakata 26 feb. 2021 a las 02:00

1 respuesta

La mejor respuesta

array debe ser var y no let para ser mutable y hacer que esto funcione:

var array = Array(repeating: Age(), count: 10) //build a sample array to test with
for index in 0..<array.count {
  array[index].position = index
}
print(array)

Lo que produce lo siguiente:

[StackOverflowPlayground.Age(position: 0), 
StackOverflowPlayground.Age(position: 1),
StackOverflowPlayground.Age(position: 2), 
StackOverflowPlayground.Age(position: 3), 
StackOverflowPlayground.Age(position: 4), 
StackOverflowPlayground.Age(position: 5), 
StackOverflowPlayground.Age(position: 6), 
StackOverflowPlayground.Age(position: 7), 
StackOverflowPlayground.Age(position: 8), 
StackOverflowPlayground.Age(position: 9)]
1
jnpdx 25 feb. 2021 a las 23:08