How to avoid duplicate key error in swift when iterating over a dictionary

后端 未结 3 1550
日久生厌
日久生厌 2021-01-18 03:43

I\'m practicing swift and I\'m trying to iterate over a Dictionary to print the key, but it gives me a

fatal error: Dictionary literal contains dupli

3条回答
  •  难免孤独
    2021-01-18 04:42

    Create a People struct or class and use instances of that in an array rather than a dictionary:

    struct Person {
        var age : Int
    }
    
    let people = [Person(age: 14), Person(age: 15)] // and so on
    
    for person in people {
        print(person)
    }    
    

    A dictionary is a mapping of a unique key to some value. Therefore what you previously did was not working because your key age was not unique. You can however use a different dictionary:

    let people = [14: Person(age: 14), 15: Person(age: 15)] // and so on
    
    for (key, value) in people {
        print("\(key) => \(value)")
    }
    

提交回复
热议问题