In Swift 4 I could the code below worked but in Swift 5 I get the following error: Type 'Dictionary<String, String>.Values.Iterator' does not conform to protocol 'Sequence'
guard let userIds = users.values.makeIterator() else { return }
for userId in userIds {
// User setup
}
What is the right way in Swift 5 now?
let dictionary: [String: Int] = ["a": 1, "b": 2]
for (key, value) in dictionary {
print(key, value)
}
You may try iterator like this:
let users = ["a":11, "b":12]
var userIds = users.values.makeIterator()
while let next = userIds.next() {
print(next) // 11 \n 12
}
Also:
let x = [
"kitty": 7,
"bob": 2,
"orange": 44
]
x.forEach { t in
print("key = \(t.key); value = \(t.value)")
}
This has apparently been available since Swift 3. Link to standard library docs on Dictionary type.