我希望您能帮助翻译有关IT技术的中文内容。将“Original Answer”翻译成中文为“最初的回答”。以下是需要翻译的内容:
我正在努力理解在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 ...>]
然而,我无法确定如何初始化一个空的字典数组。
我知道你可以有一个字典数组,因为使用初始值进行初始化是有效的:
Original Answer翻译成"最初的回答"
let myDict1 = ["someKey":"someValue"]
let myDict2 = ["anotherKey":"anotherValue"]
var myDictArray = [myDict1]
myDictArray += myDict2
-> [["someKey": "someValue"], ["anotherKey": "anotherValue"]]
然而,这种语法(你本以为是正确的)会失败:
Original Answer翻译成"最初的回答"
var myNewDictArray: Dictionary[] = []
出现错误:无法将表达式类型“Dictionary[]”转换为类型“Hashable”
因此,问题是初始化一个空的字典项数组的正确方式是什么,以及为什么这个语法 var myNewDictArray: Dictionary[] = []
不起作用?
最初的回答:
要初始化一个空的字典项数组,请使用以下语法:var myNewDictArray: [Dictionary] = []
。这是因为在Swift中,您需要指定数组中包含的元素类型。而且,您不能将不可哈希的类型(如字典)直接用作集合类型的元素类型。