gpt4 book ai didi

swift - Type (key : String, value: Any) 没有下标成员

转载 作者:行者123 更新时间:2023-11-28 12:17:30 26 4
gpt4 key购买 nike

我知道这个问题之前在SO上被问过,我理解其中一些给出的解释和解决方案。事实上,我找到的解决方案是我在搜索 SO 之前所做的。但我仍然遇到错误。我有一本这样设置的字典:

var dictBarData = [String: Any]()

然后我像这样填充它:

let vThisBar = UIView()

//set initial coordinates for view
var barX = 0.0
let barY = Double(vBarChart.frame.size.height - 40.0)
let barW = 60.0
var barH = 10.0

barX = getBarX(barIndex)

vThisBar.frame = CGRect(x:barX, y:barY, width:barW, height:barH)
vThisBar.backgroundColor = UIColor.blue
vBarChart.addSubview(vThisBar);

var dictThisBar = [String: Any]()
dictThisBar["category"] = category
dictThisBar["value"] = value
dictThisBar["view"] = vThisBar
dictBarData[String(barIndex)] = dictThisBar

然后我尝试像这样访问这些词典:

for dictThisBar in dictBarData as Dictionary {
print(dictThisBar["view"] as! UIView)
}

此时我收到了错误(在打印件上)。我正在从 Objective-c 过渡到 Swift(我可能是更喜欢 Objective-C 的少数人 :D),所以我想我错过了一步。

最佳答案

您正在为字典 使用数组 枚举语法,您需要这个

for (key, value) in dictBarData {
print(key, value)
}

for (key, value) in dictBarData {
if key == "view" { print(value as! UIView) }
}

或者如果你只想获取一个值,请忘记循环:

print(dictThisBar["view"] as! UIView)

由于 dictBarData 被声明为 [String: Any],因此不需要类型转换。

关于swift - Type (key : String, value: Any) 没有下标成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983124/

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