【发布时间】:2018-01-03 21:26:25
【问题描述】:
我正在做一个项目,在像这样遍历 for in 循环时遇到了这个错误:
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 项:自定义类 1
第 2 项:CustomClass 2
第 3 项:CustomClass 3
第 4 项:CustomClass 4
感谢任何关于为什么这不起作用或如何修复它的帮助,谢谢!
【问题讨论】:
-
_class在第二个循环中是一个误导性的名称。它实际上是一个索引 -
感谢@MartinR 帮我解释。
标签: swift class iteration for-in-loop