Is there a way to iterate through a Dictionary
in a ForEach
loop? Xcode says
Generic struct 'ForEach' requires that '[String : Int]' conform to 'RandomAccessCollection'
so is there a way to make Swift Dictionaries conform to RandomAccessCollection
, or is that not possible because Dictionaries are unordered?
One thing I've tried is iterating the dictionary's keys:
let dict: [String: Int] = ["test1": 1, "test2": 2, "test3": 3]
...
ForEach(dict.keys) {...}
But keys
is not an array of String
s, it's type is Dictionary<String, Int>.Keys
(not sure when that was changed). I know I could write a helper function that takes in a dictionary and returns an array of the keys, and then I could iterate that array, but is there not a built-in way to do it, or a way that's more elegant? Could I extend Dictionary
and make it conform to RandomAccessCollection
or something?
question from:
https://stackoverflow.com/questions/56675532/swiftui-iterating-through-dictionary-with-foreach 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…