我該如何解決這個錯誤?xcodes-13
這是我使用 api 的代碼:
struct everything: Codable{
let topic: String
let content: String
let catagory: String
let time: String
let price: String
let prize: String
}
struct parsingss : Codable {
let scrims: [everything]
}
@IBOutlet weak var prizeLabel: UILabel!
@IBOutlet weak var priceLabel: UILabel!
@IBOutlet weak var timeLabel: UILabel!
@IBOutlet weak var catagoryLabel: UILabel!
@IBOutlet weak var ContentLabel: UILabel!
@IBOutlet weak var TopicLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
if let url = URL(string: "http://{Local-Host}/post") {
URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data {
let jsonDecoder = JSONDecoder()
do {
let parsedJSON = try jsonDecoder.decode(parsingss.self, from: data)
print(parsedJSON)
DispatchQueue.main.async {
self.TopicLabel.text = parsedJSON.topic
self.ContentLabel.text = parsedJSON.content
self.catagoryLabel.text = parsedJSON.catagory
self.timeLabel.text = parsedJSON.time
self.priceLabel.text = parsedJSON.price
self.prizeLabel.text = parsedJSON.prize
}
}
catch {
print(error)
}
}
}.resume()
}
}
}
“錯誤:‘testViewController.parsingss’型別的值沒有成員‘主題’”
用一些代碼回復會更好。感謝開發者。
如果沒有“嘗試在標簽中列印”,結果確實會出現在輸出中。它在一個陣列中:
[ scrims: {
"topic": "tv",
"content": "done",
"catagory": "gg",
"time": "10pm",
"price": "Rs.100",
"prize": "Rs.1000",
"id": 1
},
{
"topic": "1",
"content": "d1",
"catagory": "g1",
"time": "10pm",
"price": "Rs.11",
"prize": "R1",
"id": 2
} ]
謝謝!
uj5u.com熱心網友回復:
您試圖在不指定索引的情況下從陣列物件分配下標值。
嘗試這個:
class ViewController: UIViewController {
@IBOutlet weak var prizeLabel: UILabel!
@IBOutlet weak var priceLabel: UILabel!
@IBOutlet weak var timeLabel: UILabel!
@IBOutlet weak var catagoryLabel: UILabel!
@IBOutlet weak var ContentLabel: UILabel!
@IBOutlet weak var TopicLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
if let url = URL(string: "http://{Local-Host}/post") {
URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data {
do {
let parsedJSON = try JSONDecoder().decode(parsingss.self, from: data)
print(parsedJSON)
DispatchQueue.main.async {
self.TopicLabel.text = parsedJSON.scrims[0].topic
self.ContentLabel.text = parsedJSON.scrims[0].content
self.catagoryLabel.text = parsedJSON.scrims[0].catagory
self.timeLabel.text = parsedJSON.scrims[0].time
self.priceLabel.text = parsedJSON.scrims[0].price
self.prizeLabel.text = parsedJSON.scrims[0].prize
}
}
catch {
print(error)
}
}
}.resume()
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/434428.html