gpt4 book ai didi

ios - 如何在 SwiftUI 中迭代/foreach 数组

转载 作者:行者123 更新时间:2023-12-01 15:53:47 25 4
gpt4 key购买 nike

我有这个字典数组。

let deckColors = [
["name": "blue", "desc": "desc1"],
["name": "yellow", "desc": "desc2"],
]

而我的观点:
struct ContentView: View {
var body: some View {
ForEach(0 ..< deckColors.count) {value in
Text(deckColors[value]["name"])
}
}
}

我怎样才能让它工作?当前出现此错误:协议(protocol)类型 Any不符合 StringProtocol因为只有具体类型才能符合协议(protocol)

最佳答案

这似乎是实现结构的一种非常复杂的方式:

struct DeckColor {
var name: String
var desc: String
}

let deckColors = [
DeckColor(name: "blue", desc: "desc1"),
DeckColor(name: "yellow", desc: "desc2")
]

struct ContentView: View {
var body: some View {
ForEach(0 ..< deckColors.count) { value in
Text(deckColors[value].name)
}
}
}

您实现它的方式需要处理字典不包含 "name" 的情况。值(value)。你可以这样做,但它更丑陋,更脆弱:
struct ContentView: View {
var body: some View {
ForEach(0 ..< deckColors.count) { value in
Text(deckColors[value]["name"] ?? "default text if name isn't there.")
}
}
}

关于ios - 如何在 SwiftUI 中迭代/foreach 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60254412/

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