字典正在自动排序

时间:2017-05-26 16:07:11

标签: arrays swift sorting dictionary

我正在尝试随机化要在字典中使用的字符串数组。然而,当我在循环结束时使用for-in循环将它们添加到字典时,它已经对所有值进行了排序。 这显然与我想要的相反,因为整个目的是使值随机化。

import GameplayKit

let stage01Array = ["Level_01", "Level_06", "Level_11", "Level_16", "Level_21"]
let shuffledStage01 = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: stage01Array)
var saveStage01Dict = [String: Bool]()

for level in shuffledStage01 {

    saveStage01Dict[level as! String] = Bool(true)
    print(saveStage01Dict)
}

以下是一些正在制作的例子。

示例1

["Level_06": true]
["Level_06": true, "Level_16": true]
["Level_06": true, "Level_16": true, "Level_01": true]
["Level_01": true, "Level_06": true, "Level_16": true, "Level_11": true]
["Level_01": true, "Level_21": true, "Level_06": true, "Level_16": true, "Level_11": true]

示例2

["Level_21": true]
["Level_06": true, "Level_21": true]
["Level_06": true, "Level_01": true, "Level_21": true]
["Level_01": true, "Level_21": true, "Level_06": true, "Level_16": true]
["Level_01": true, "Level_21": true, "Level_06": true, "Level_16": true, "Level_11": true]

示例3

["Level_21": true]
["Level_21": true, "Level_11": true]
["Level_06": true, "Level_21": true, "Level_11": true]
["Level_21": true, "Level_06": true, "Level_16": true, "Level_11": true]
["Level_01": true, "Level_21": true, "Level_06": true, "Level_16": true, "Level_11": true]

正如您所看到的,它开始随机添加值,但最后它们的排序完全相同。请有人解释一下吗?

0 个答案:

没有答案
相关问题