2015-10-14 47 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