動作しない、私はプロジェクトを働いていると、このようなループの中で用を反復処理するときに、このエラーに遭遇していますスウィフトのためにカスタムクラスの配列を反復処理する
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)")
}
私は次の取得出力:
アイテム0:CustomClass 4
項目1:CustomClass 4
アイテム2:CustomClass 4
項目3:CustomClass 4
項目4:CustomClass私は、私が代わりに次のような出力になるだろうと思ったので、これは私には意味がありません4
:
項目を0 :CustomClass 0
アイテム1:CustomClass 1
項目2:CustomClass 2
項目3:CustomClass 3
項目4:CustomClass 4
これが動作しない理由として、あるいはそれが評価されて固定に取り掛かる方法に任意のヘルプ、ありがとう!
'_class'は第2ループの誤解を招く名前です。それは実際にはインデックス – Alexander
です:https://stackoverflow.com/questions/32921425/swift-creating-an-array-with-a-default-value-of-distinct-object-instances –
ありがとう@MartinRそれを説明するのを助ける私に。 – grahamcracker1234