Je travaille un projet et ont rencontré cette erreur lorsque itérer une boucle dans comme ceci:Swift Pour en boucle Itère un tableau des classes personnalisées ne fonctionne pas
class CustomClass {
var nameNum : Int { didSet { self.name = "CustomClass \(nameNum)" } }
var name : String
init() {
nameNum = 0
self.name = "CustomClass \(nameNum)"
}
}
var myArray : [CustomClass] = [CustomClass](repeating: CustomClass(), count: 5)
for _class in myArray.indices {
myArray[_class].nameNum = _class
}
print("\n")
for _class in myArray.indices {
print("Item \(_class): \(myArray[_class].name)")
}
Je reçois le texte suivant sortie:
Point 0: CustomClass 4
Point 1: CustomClass 4
Point 2: CustomClass 4
Point 3: CustomClass 4
Point 4: CustomClass 4
Cela ne me fait pas sens que je pensais que je recevrais la sortie suivante à la place:
Point 0 : CustomClass 0
Article 1: CustomClass 1
Point 2: 2 CustomClass
Point 3: CustomClass 3
Point 4: CustomClass 4
Toute aide à pourquoi cela ne fonctionne pas ou comment s'y prendre pour le fixer est apprécié , Merci!
'_class' est un nom trompeur dans la deuxième boucle. C'est en fait un index – Alexander
Connexes: https://stackoverflow.com/questions/32921425/swift-creating-an-array-with-a-default-value-of-distinct-object-instances –
Merci @MartinR qui aide à l'expliquer pour moi. – grahamcracker1234