Initialising empty arrays of dictionaries in Swift
You need to give types to the dictionaries:
var myNewDictArray: [Dictionary<String, Int>] = []
or
var myNewDictArray = [Dictionary<String, Int>]()
Edit: You can also use the shorter syntax:
var myNewDictArray: [[String:Int]] = []
or
var myNewDictArray = [[String:Int]]()
This will create an empty, immutable dictionary:
let dictionary = [ : ]
And if you want a mutable one:
var dictionary = [ : ]
Both of these dictionaries default to Dictionary<String?, AnyObject?>
.
The reason this isn't working:
var myNewDictArray: Dictionary[] = []
is that you need to provide types for the keys and values of a dictionary when you define it. Each of these lines will create you an empty array of dictionaries with string keys and string values:
var dictArray1: Dictionary<String, String>[] = Dictionary<String, String>[]()
var dictArray2: Dictionary<String, String>[] = []
var dictArray3 = Dictionary<String, String>[]()