最佳答案
有没有办法在 ForEach
循环中迭代 Dictionary
泛型结构‘ ForEach’要求‘[ String: Int ]’符合‘ RRandom AccessCollection’
那么有没有办法使迅捷字典符合 RandomAccessCollection
,或者是不可能的,因为字典是无序的?
我尝试过的一件事就是迭代字典的键:
let dict: [String: Int] = ["test1": 1, "test2": 2, "test3": 3]
...
ForEach(dict.keys) {...}
但是 keys
不是 String
的数组,它的类型是 Dictionary<String, Int>.Keys
(不确定是什么时候改变的)。我知道我可以编写一个 helper 函数,它接收字典并返回一个键数组,然后我可以迭代这个数组,但是有没有一种内置的方法来做到这一点,或者一种更优雅的方法呢?我可以扩展 Dictionary
,使它符合 RandomAccessCollection
或其他什么?