我想通过它的键来获取数组值。
我在 looping 中用下面的代码设置了数组。
let que = Question(questionText: "\(questionWord)", options: quizAnsArr, correctAns: correctArrIndex, wrongAns: -1, isAnswered: false)
quizsArray += [que]
现在我得到下面的数组。这是我的数组。
[Kanji_Quiz.Question(questionText: "青", options: ["fast", "color", "heart", "blue"], correctAns: 3, wrongAns: -1, isAnswered: false), Kanji_Quiz.Question(questionText: "暑", options: ["owner", "heart", "hot (temperature)", "end"], correctAns: 2, wrongAns: -1, isAnswered: false)]
我通过使用调用值
print(quizsArray[questionText])
但它'显示错误。我如何通过索引或 smth 调用值。请帮我。
最佳答案
@Kawazoe Kazuke
quizsArray 的类型是 [Question]... 对吗?
所以通过这样做:print(quizsArray[questionText])
,您要求您的程序进入 quizsArray: [Question]
并获取索引等于 questionText
的值.
我不明白应该怎么做 不是 错误。
如果您不想将 quizsArray 从 [Question] 更改为原生 Swift Dictionary ([String:Any]),那么您需要执行以下操作:
• 遍历quizsArray。像这样的东西应该可以完成这项工作:
for question in quizsArray {
<code>
}
• 只有现在您才能访问每个问题。所以:
for question in quizsArray {
let text = question.getQuestionText()
if text.elementsEqual('questionText') {
let correctAnswerIndex = question.getQuestionAnswerIndex()
print(question.getQuestionAnswer(correctAnswerIndex))
}
}
• 请注意方法
getQuestionAnswer(index: Int)
和 getQuestionAnswerIndex()
只是我编造的方法。您必须在创建 Question 类/结构的地方编写“getter and setter”代码• 所以最后,您应该将所有代码转换为函数,其中参数将是(关键)问题文本,函数返回正确答案,甚至返回整个对象。那你就定了👍🏽
关于ios - 如何在 Swift 4 中提取特定数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49974031/