开发者社区> 问答> 正文

在Swift中初始化字典的空数组

我试图把头放在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'

所以问题是初始化字典项的空数组的正确方法是什么,为什么这种语法var myNewDictArray: Dictionary[] = []不起作用? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 19:09:09 527 0
1 条回答
写回答
取消 提交回答
  • 您需要为字典指定类型:

    var myNewDictArray: [Dictionary<String, Int>] = [] 要么

    var myNewDictArray = Dictionary<String, Int> 编辑:您还可以使用较短的语法:

    var myNewDictArray: [[String:Int]] = [] 要么

    var myNewDictArray = [String:Int]

    2020-02-08 19:09:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OpenStack Swift 海量小文件优化之路 立即下载
From Java/Android to Swift iOS 立即下载
Swift在Airbnb的应用实践 立即下载