Swift中如何对比两个按钮生成的结果是否一致?
数字生成与一致性校验实现方案
实现步骤
- 先存储第一次生成的数字:用变量留存第一个按钮生成的数字,避免生成后丢失
- 第一个按钮逻辑:点击时生成目标数字,存入变量,同时在界面展示生成结果
- 第二个按钮逻辑:点击时生成新数字,与存储的第一次数字对比,一致则提示校验通过,不一致则提示失败;还要处理未生成第一次数字就点击校验的情况,给出引导提示
代码示例(以Android Kotlin为例)
// 存储第一次生成的数字,初始为null表示未生成 private var firstGeneratedNum: Int? = null // "生成数字"按钮点击事件 findViewById<Button>(R.id.btn_generate).setOnClickListener { val randomNum = (1..1000).random() // 可自行调整数字生成范围 firstGeneratedNum = randomNum findViewById<TextView>(R.id.tv_first_num).text = "已生成数字:$randomNum" } // "校验一致性"按钮点击事件 findViewById<Button>(R.id.btn_check).setOnClickListener { firstGeneratedNum?.let { savedNum -> val newNum = (1..1000).random() val isMatch = savedNum == newNum val resultText = if (isMatch) { "✅ 校验通过!两次数字均为:$savedNum" } else { "❌ 校验失败!第一次:$savedNum,第二次:$newNum" } findViewById<TextView>(R.id.tv_check_result).text = resultText } ?: run { findViewById<TextView>(R.id.tv_check_result).text = "⚠️ 请先点击「生成数字」按钮!" } }
关键细节
- 若需要页面重启后仍保留第一次生成的数字,不要用普通全局变量,改用
SharedPreferences或ViewModel实现持久化 - 数字生成逻辑可按需修改,比如固定位数、特定区间,或是非随机的业务生成规则
- 界面上可给校验结果添加颜色区分(如通过用绿色、失败用红色),提升用户感知
内容的提问来源于stack exchange,提问作者Elena Isabella
相关产品推荐
相关产品推荐

