我正在尝试随机化要在字典中使用的字符串数组。然而,当我在循环结束时使用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)
}
以下是一些正在制作的例子。
["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]
["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]
["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]
正如您所看到的,它开始随机添加值,但最后它们的排序完全相同。请有人解释一下吗?