gpt4 book ai didi

ios - [Dictionary()] 和 [String : String]() 之间有什么区别

转载 作者:可可西里 更新时间:2023-11-01 00:52:00 28 4
gpt4 key购买 nike

我可以知道这两个字典声明之间的区别吗?

var places = [String: String]()

var places = [Dictionary<String, String>()]

为什么当我尝试以这种方式附加声明时,只有第二种声明方式有效:

places.append(["name":"Taj Mahal", "lat":"27.175277", "lon":"78.042128"])

感谢您的帮助。

最佳答案

这是一个简单的字典:

var places = [String: String]()

显然,尝试在字典上调用 append 是行不通的。

不过,您的第二个再现是一个包含一个对象的数组,一个空字典:

var places = [Dictionary<String, String>()]

因此,您尝试附加一个字典(它有三个键,namelatlong), 将适用于此版本。但我不认为这是你想要的,因为该数组现在有两个项目,原来的空字典和你刚刚添加的新字典。

我怀疑您真的想要一个空的字典数组,即:

var places = [Dictionary<String, String>]()

或者,更简单地说:

var places = [[String: String]]()

更好的是,我可以定义一个 Place 类型:

struct Place {
let name: String
let latitude: Double
let longitude: Double
}

然后将 places 定义为该类型的数组:

var places = [Place]()

然后像这样插入一个地方:

places.append(Place(name: "Taj Mahal", latitude: 27.175277, longitude: 78.042128))

显然,如果需要,您也可以定义 Place,其中 latitudelongitude 也是字符串。适合您的应用程序的任何内容。

关于ios - [Dictionary<String, String>()] 和 [String : String]() 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379395/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com