ilbed wrote:
所以每次在練習寫程式...(恕刪)
前面的回文其實已經說得很清楚了,Swift 得 Dictionary 是無順序的,你放進去東西的順序跟它內部的排列沒有關聯也無相依性。如果你要用放進的順序列出,只能透過另外建立一個 Key 值的 Array 來一一作取出的動作才行。(在 Objective-C 也是得這樣做吧?只是更麻煩得用 keyEnumerator)
import Foundation
var i = 0
let keyArray = ["book", "Game", "iPhone"]
let shoppinglist = [
keyArray[i++] : [1,2,3,4,5],
keyArray[i++] : [10,20,30,40,50],
keyArray[i] : [100,200,300,400,500]
]
var lagter = 0
for key in keyArray {
for number in shoppinglist[key]! {
println(key , number)
if number > lagter{
lagter = number
}
println(lagter)
}
}
-----
(book, 1)
1
(book, 2)
2
(book, 3)
3
(book, 4)
4
(book, 5)
5
(Game, 10)
10
(Game, 20)
20
(Game, 30)
30
(Game, 40)
40
(Game, 50)
50
(iPhone, 100)
100
(iPhone, 200)
200
(iPhone, 300)
300
(iPhone, 400)
400
(iPhone, 500)
500
------
如果你很想偷懶,其實也可以把第一段改成:
let shoppinglist = [
"1_book" : [1,2,3,4,5],
"2_Game":[10,20,30,40,50],
"3_iPhone":[100,200,300,400,500]
]
這樣在這個範例中就會是你要的順序,但是前面說過了,這是不可靠的依據,真正要寫重要的東西時不要用。
順便一提,如果你有寫程式相關的問題,比起 Mobile01,StackOverflow 可能是更好的地方,那裏討論 Swift 的人其實不少。