我无法弄清楚这是否在Swift中是可能的,但是使用for索引循环我试图将我的数组的索引与位于myarray内的结构中的属性匹配
数据:
class MyClass {
struct myStruct {
var name: String? = ""
var age: Double = 0
}
let myArray: [myStruct] = [
myStruct(name: "Gary", age: 35),
myStruct(name: "Carol", age: 60),
myStruct(name: "Lou", age: 55)
]
}
控制器:
var instanceofMyClass = MyClass()
for (index, age) in enumerate(instanceofMyClass.myArray) {
println("my index is \(index) and age is \(age)")
当我用一个简单的字符串数组替换我的结构数组时,我返回一个值,但是当它是一个结构数组时不能返回一个值
答案 0 :(得分:3)
即使您的循环变量名为(index, age)
,您仍然在迭代myArray
,并且包含您已定义的结构的实例。因此age
实际上包含该结构的实例而不是双精度。
你需要这样的东西来获取循环中的age
值:
for (index, myStruct) in enumerate(instanceofMyClass.myArray) {
println("my index is \(index) and age is \(myStruct.age)")
}