Swift测验APP问题:如何记录用户最后点击的按钮值而非首次值
解决测验APP中识别用户最后点击按钮值的问题
你的问题核心在于每次点击按钮时对selectedValue执行的是累加操作(+=),而非直接覆盖为当前点击按钮的对应值,导致最终存储的是所有点击值的总和,而非最后一次的选择结果。
修复方案:
将累加改为直接赋值
把按钮点击事件中的+=替换为=,让每次点击直接用当前按钮的tag值覆盖selectedValue,同时可以去掉冗余的多分支判断,简化代码:@IBAction func buttonClicked(_ sender: UIButton) { selectedValue = sender.tag }因为按钮的tag本身就是你设定的0-3数值,直接赋值即可完成选中值的更新,无需额外的条件判断。
可选:下一题时重置选中状态
为了避免上一题的选中值干扰下一题,可以在进入下一题时重置selectedValue,比如:@IBAction func nextButtonClicked(_ sender: Any) { nextQuestion() // 用无效值标记未选中状态,适配你的业务逻辑 selectedValue = -1 }
修改后,selectedValue会始终保存用户最后一次点击按钮的tag值,完美解决你的问题。
内容的提问来源于stack exchange,提问作者Dilan
相关产品推荐
相关产品推荐

