我在解析JSON数据并将其分配给Question后尝试打印Results的各个成员。
struct Question: Decodable
{
let response_code: Int
let results: [Results]
}
struct Results: Decodable
{
let category: String
let question: String
let correct_answer: String
let incorrect_answers: [String]
}
我尝试使用:
print(question.results)
但我明白了:
[Trivia_Game.Results(category: "Entertainment: Music", question: "Which of the following bands is Tom DeLonge not a part of?", correct_answer: "+44", incorrect_answers: ["Box Car Racer", "Blink-182", "Angels & Airwaves"])]
如何访问各个成员,例如"类别"或"问题"?
答案 0 :(得分:1)
child3
是一个数组。你必须枚举数组
results
或
let results = question.results
for result in results {
print(result.category, result.question)
}
答案 1 :(得分:1)
您必须首先访问question.results
的单个元素,如下所示:
question.results[n] // where n represents a valid array index number
然后,要访问该单个Results
结构的特定属性,您将以与访问任何其他结构的属性值相同的方式执行此操作。例如,如果您想获得category
结构的Results
成员的值,您可以这样做:
question.results[n].category
然后,如果您想打印该特定成员的值(再次使用category
成员作为示例),您可以这样做:
print(question.results[n].category)
现在,如果您想为category
数组中的每个Results
结构打印出question.results
成员的值,那么您可以像这样使用for循环:
for result in question.results {
print(result.category)
}
希望有所帮助。