【发布时间】:2019-08-16 00:27:06
【问题描述】:
我正在创建一个测验应用程序,其中每个测验问题都是一个分组的 TableView,每个单元格都是一个答案选择,并嵌入在导航控制器中。对于用户点击的每个正确答案,我希望他们的分数增加 1。我在导航控制器中将分数标签设置为 rightBarButtonItem。
这是我在 viewDidLoad( ) 中创建条形按钮项的内容:
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Score: \(score)", style: .plain, target: nil, action: Selector(("updateScore")))
我有一个模型类 Question,其中包含一个数组 questionsList,其中包括以下属性:questionString、answers[]、selectedAnswerIndex (nil) 和 correctAnswerIndex (int)
updateScore 方法:
@objc func updateScore() {
for question in questionsList {
if question.selectedAnswerIndex == question.correctAnswerIndex {
score += 1
}
}
}
有什么想法吗?我尝试通过将分数标签放在页脚视图中,使用 viewForFooterInSection 作为表格控制器,并将 for 循环放在我的 didSelectRowAt 方法中,但分数标签也不会在那里更新。
【问题讨论】:
标签: ios swift uitableview uinavigationitem