gpt4 book ai didi

swift - 在 Swift 2.0 中访问字典项时出现问题

转载 作者:行者123 更新时间:2023-11-30 10:09:18 25 4
gpt4 key购买 nike

我在 Obj-C 方面有经验,但对 Swift 还很陌生。我有一个简单的函数,它采用 Set 和 Dictionary 作为参数:

func buildSource(dataToParse:Set<String>, lookupData:Dictionary<String,AnyObject>) {
for item in dataToParse {
for dict in lookupData {
let nameID = dict["name"] // compile error
}
}
}

传入的参数lookupData是一个包含嵌套字典的字典。我知道每个字典都包含一个名为 name 的键,但是当我尝试使用以下语法访问该键时:

let nameID = dict["name"]

我收到以下编译错误:

Type '(String, AnyObject)' has no subscript members

如果我知道 key 存在,我该如何访问它?谢谢!

最佳答案

import Foundation

func buildSource(dataToParse:Set<String>, lookupData:Dictionary<String,AnyObject>)->[AnyObject] {
var ret: Array<AnyObject> = []
for item in dataToParse {
for (key, value) in lookupData {
if key == item {
ret.append(value)
}
}
}
return ret
}

let set = Set(["alfa","beta","gama"])
var data: Dictionary<String,AnyObject> = [:]
data["alfa"] = NSNumber(integer: 1)
data["beta"] = NSDate()
data["theta"] = NSString(string: "some string")

let find = buildSource(set, lookupData: data)
dump(find)

/* prints
▿ 2 elements
- [0]: 28 Nov 2015 18:02
▿ [1]: 1 #0
▿ NSNumber: 1
▿ NSValue: 1
- NSObject: 1
*/

在你的代码中

for dict in lookupData {
let nameID = dict["name"] // compile error
}

dict不是字典,而是(key, value)元组!

关于swift - 在 Swift 2.0 中访问字典项时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33973507/

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