Swift Array of Dictionary Elements

Create an array of dictionaries. Use an if-statement to test for an element with the dictionaries.

Array of dictionaries. An array (in Swift 4) can have any element type. With dictionary elements, we create a collection of lookup tables. We build a complex, nested data structure.ArrayDictionary

Nested square brackets. An array of dictionaries has syntax similar to a 2D array. We specify the dictionary type within an array type. The syntax might be confusing at first.

An example. This example creates an array of String, Int dictionaries. It starts as an empty array. Then we add two dictionaries to it. We initialize them and append() them to the array.

If: We use the if-statement to test whether keys exist in the nested dictionaries. The string "cat" exists, but "diamond" does not.

Swift program that creates array of dictionaries // This is an array of dictionaries. var dictionaries = [[String: Int]]() // Create a dictionary and add it to the array. var dictionary1: [String: Int] = ["cat": 100] dictionaries.append(dictionary1) // Create another dictionary. var dictionary2: [String: Int] = ["dog": 200] dictionaries.append(dictionary2) // Get value from dictionary in array element 0. if let value = dictionaries[0]["cat"] { print(value) } // Get value from dictionary that does not exist. if let value = dictionaries[1]["diamond"] { // This is not reached. print("Not reached") } Output 100

Some considerations. Swift supports classes. Sometimes using complex nested data structures (like arrays of dictionaries) becomes more complex and harder to maintain than arrays of classes.Class

A summary. We use nested square brackets to create 2D arrays and arrays of dictionaries in Swift. This syntax is clear and readable, but we must type the correct number of square brackets.
Dot Net Perls
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to