You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift测验APP问题:如何记录用户最后点击的按钮值而非首次值

解决测验APP中识别用户最后点击按钮值的问题

你的问题核心在于每次点击按钮时对selectedValue执行的是累加操作(+=),而非直接覆盖为当前点击按钮的对应值,导致最终存储的是所有点击值的总和,而非最后一次的选择结果。

修复方案:

  1. 将累加改为直接赋值
    把按钮点击事件中的+=替换为=,让每次点击直接用当前按钮的tag值覆盖selectedValue,同时可以去掉冗余的多分支判断,简化代码:

    @IBAction func buttonClicked(_ sender: UIButton) {    
        selectedValue = sender.tag
    }
    

    因为按钮的tag本身就是你设定的0-3数值,直接赋值即可完成选中值的更新,无需额外的条件判断。

  2. 可选:下一题时重置选中状态
    为了避免上一题的选中值干扰下一题,可以在进入下一题时重置selectedValue,比如:

    @IBAction func nextButtonClicked(_ sender: Any) {       
        nextQuestion()
        // 用无效值标记未选中状态,适配你的业务逻辑
        selectedValue = -1
    }
    

修改后,selectedValue会始终保存用户最后一次点击按钮的tag值,完美解决你的问题。

内容的提问来源于stack exchange,提问作者Dilan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 23:12:36