我有一个 Realm 数据库。使数据库更具可读性。我设计的题库如下:
class Question: Object {
@objc dynamic var id: Int = 0
@objc dynamic var name: String = ""
@objc dynamic var answered: Bool = false
@objc dynamic var lastAnswer: Bool = false
@objc dynamic var howManyTimesAnswered: Int = 0
@objc dynamic var answer0: String = ""
@objc dynamic var answer1: String = ""
@objc dynamic var answer2: String = ""
@objc dynamic var answer3: String = ""
@objc dynamic var correctAnswer: Int = 0
let parentCategory = LinkingObjects(fromType: Category.self, property: "questions") //back relationship to category
}
我正在尝试提取答案并将它们放入元组数组 (String, Bool)
var currentAnswers = [(String, Bool)]()
for i in 0...3 {
if i == question.correctAnswer {
currentAnswers.append(("question.answer2", true))
} else {
currentAnswers.append((question.answer1, false))
}
}
我想要实现的是这样的,其中拉出的答案等于我显然下面的那个不会编译
for i in 0...3 {
if i == question.correctAnswer {
currentAnswers.append((question.answer(i), true))
} else {
currentAnswers.append((question.answer(i), false))
}
}
最佳答案
您可以使用 Key path试试这段代码
var currentAnswers = [(String, Bool)]()
for i in 0...3 {
if i == question.correctAnswer {
currentAnswers.append((question.value(forKey: "answer\(i)") as! String, true))
} else {
currentAnswers.append((question.value(forKey: "answer\(i)") as! String, false))
}
}
关于swift - 在 swift 中使用循环从编号变量中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50737025/