加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:09:33 所属栏目:百科 来源:网络整理
导读:我试图把我的头围绕在初始化空数组在Swift。 对于字符串数组,它非常直接: var myStringArray: String[] = []myStringArray += "a"myStringArray += "b"- ["a","b"] 和整数 var myIntArray: Int[] = []myIntArray += 1myIntArray += 2- [1,2] 它也适用于其
我试图把我的头围绕在初始化空数组在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 ...>]

然而,我不能找出语法来初始化空数组的字典。

我知道你可以有一个数组的字典,因为初始化与初始值工程:

let myDict1 = ["someKey":"someValue"]
let myDict2 = ["anotherKey":"anotherValue"]

var myDictArray = [myDict1]
myDictArray += myDict2

-> [["someKey": "someValue"],["anotherKey": "anotherValue"]]

编辑:在下面的代码中有一个错误(混合myNewDictArray和myDictArray),当纠正它不工作,我说它做了。

如下:

let myDict1 = ["someKey":"someValue"]
let myDict2 = ["anotherKey":"anotherValue"]

var myNewDictArray: AnyObject = []
myDictArray += myDict1
myDictArray += myDict2

-> [["someKey": "someValue"],["anotherKey": "anotherValue"]]

然而(你会希望语法是)失败:

var myNewDictArray: Dictionary[] = []

与错误无法转换表达式的类型“字典[]’类型’Hashable’

所以问题是什么是初始化一个空数组的字典项目的正确方法,为什么不这个语法var myNewDictArray:Dictionary [] = []工作?

你需要给字典的类型:
var myNewDictArray: [Dictionary<String,Int>] = []

要么

var myNewDictArray = [Dictionary<String,Int>]()

编辑:您也可以使用较短的语法:

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

要么

var myNewDictArray = [[String:Int]]()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读