最佳答案
我试图在 Swift 中初始化空数组。
对于字符串数组来说,它非常简单:
var myStringArray: String[] = []
myStringArray += "a"
myStringArray += "b"
-> ["a", "b"]
以及整数
var myIntArray: Int[] = []
myIntArray += 1
myIntArray += 2
-> [1, 2]
它也适用于其他类型的对象,如 NSImage 对象:
let path = "/Library/Application Support/Apple/iChat Icons/Flags/"
let image1 = NSImage(byReferencingFile: path + "Brazil.png")
let image2 = NSImage(byReferencingFile: path + "Chile.png")
var myImageArray: NSImage[] = []
myImageArray += image1
myImageArray += image2
-> [<NSImage 0x7fe371c199f0 ...>, <NSImage 0x7fe371f39ea0 ...>]
然而,我不能算出语法来初始化一个空的字典数组。
我知道您可以拥有一个 Dictionary 数组,因为使用初始值进行初始化是可行的:
let myDict1 = ["someKey":"someValue"]
let myDict2 = ["anotherKey":"anotherValue"]
var myDictArray = [myDict1]
myDictArray += myDict2
-> [["someKey": "someValue"], ["anotherKey": "anotherValue"]]
然而,这种方法(您期望语法是这样的)失败了:
var myNewDictArray: Dictionary[] = []
带有错误 Cannot convert the expression's type 'Dictionary[]' to type 'Hashable'
因此,问题是什么是正确的方法来初始化一个空的 Dictionary Items 数组,为什么这种语法 var myNewDictArray: Dictionary[] = []
不起作用?