2015-10-14 44 views
-2
enum Unit{ 
    case kg, lbs, reps, seconds, metres           
}  

let unit1:[(Float,Unit)] 
unit1 = [(1.3, .kg),(34, .reps),(99.3, .metres)] 

我想使用for循环来访问元组中的两个值,我无法让它正常工作......我错过了什么吗?如何在swift中迭代数组?

这一个不允许我使用枚举(),显然它不可用?

for (index, unittype) in enumerate(unit1) { 
    print(unittype) 
} 

这一个返回最后一个3次:

for tupleunit in unit1{ 
    print(tupleunit) 
} 
+1

何种方式你试过吗?这可能只是for循环中的一个小的语法错误 – Kevin

+1

请发布不起作用的迭代代码 – rudd

+0

是的,这是所有在操场上 – user2179936

回答

1

现在,如果你使用的是游乐场和只是想使用预览不循环做好我不知道。如果你看看下面的控制台,下面的代码一切正常。

enum Unit{ 
    case kg, lbs, reps, seconds, metres 
} 

let unit1:[(Float,Unit)] 
unit1 = [(1.3, .kg),(34, .reps),(99.3, .metres)] 
var index = 1 
for (value,unit) in unit1 { 
    print("Run:\(index)") 
    print("Value:\(value)") 
    print("Unit: \(unit)") 
    index += 1 
} 

Screenshot of program in playground