我有一個 JSON 回應
result:
[
Result(date: "2022-04-24", abc: 1463, def: 0, ghi: 0.0),
Result(date: "2022-04-25", abc: 1451, def: 0, ghi: 0.0),
Result(date: "2022-04-26", abc: 24838, def: 100, ghi: 25.0),
Result(date: "2022-04-27", abc: 72833, def: 461, ghi: 115.25),
Result(date: "2022-04-28", abc: 31881, def: 0, ghi: 0.0),
Result(date: "2022-04-29", abc: 18706, def: 0, ghi: 0.0)
],
,現在在我的代碼中我正在使用選擇器并且必須動態更改密鑰
**example--->**
result.abc,
result.def,
result.ghi
我必須動態更改的代碼
HStack{
ForEach(downloads.indices, id: \.self){ index in
if index == downloads.count-1 {
Text("\(downloads[index].abc)")
.font(.largeTitle.bold())
.foregroundColor(.white)
}
}
}
.frame(maxWidth: .infinity, alignment: .leading)
你可以在上面的代碼中看到
downloads[index].**abc**
代替這個,我需要改變 def 和 ghi 但動態
在我呼叫上述檔案的主視圖中
@State var selectedScreen: [String] = ["abc","def", "ghi"]
BarGraph(downloads: dataservice.statsdetails, value: selectedScreen[pickerSelectedItem])
但是如果我將它作為字串動態傳遞它會給我錯誤
[1]: https://i.stack.imgur.com/l6kna.png
你能幫我解決這個問題嗎
uj5u.com熱心網友回復:
一種直接的方法是向結構中添加一個函式,該函式回傳給定鍵的正確值。
func stringProperty(for path: String) -> String {
switch path {
case "abc":
return "\(abc)"
case "def":
return "\(def)"
case "ghi":
return "\(ghi)"
default:
fatalError("Unknown property name")
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/472721.html
