xcode - 你如何在按钮之间共享一个随机生成的整数?
问题描述
抱歉,我对 Xcode 还很陌生,但是这里有……我正在尝试制作这个非常简单的乘法游戏,我有两个按钮,一个用于生成下一个问题,一个用于提交您的答案。问题是,我需要两个按钮来“知道”应该相乘的两个相同的随机整数,但是这两个按钮会生成两组不同的整数,所以问题可能类似于“什么是 10 * 8”,而计算机认为正确的答案可能是 5 * 5。(我为两个不同的按钮使用了发件人标签,提交按钮的发件人标签为 2,下一个问题的按钮的发件人标签为 1。)请帮忙!这是完整的代码:
@IBOutlet weak var questionLabel: UILabel!
@IBOutlet weak var answerBox: UITextField!
@IBOutlet weak var scoreLabel: UILabel!
@IBAction func button(_ sender: AnyObject) {
var thing = 1
var score = 0
if thing < 11
{
let firstNumber = Int(arc4random_uniform(UInt32(11)))
let secondNumber = Int(arc4random_uniform(UInt32(11)))
let answer = Int(firstNumber * secondNumber)
let answerString = "\(answer)"
questionLabel.text = "What is " + "\(firstNumber)" + " x " + "\(secondNumber)"
if sender.tag != 1
{
if answerBox.text == answerString
{
score += 1
scoreLabel.text = "Score: " + "\(score)"
questionLabel.text = "Correct!"
thing += 1
self.answerBox.text = ""
}
else if answerBox.text != answerString
{
scoreLabel.text = "Score: " + "\(score)"
questionLabel.text = "Incorrect..."
thing += 1
self.answerBox.text = ""
}
if sender.tag == 1
{
questionLabel.text = "What is " + "\(firstNumber)" + " x " + "\(secondNumber)"
}
if thing > 10
{
self.questionLabel.text = "Your score was " + "\(score)" + " out of 10!"
thing -= 10
score = 0
self.scoreLabel.text = "Score: 0"
}
}
}
}
}
解决方案
我不太明白您的问题,但一种解决方案可能是将您生成的数字存储为私有类属性,然后您可以稍后访问它们,您的按钮将“知道”生成的值。
class yourViewController {
private var firstNumber: Int = 0
private var secondNumber: Int = 0
private var answer: Int = 0
private var answerString: String = ""
func viewDidLoad() {
}
@IBAction func button(_ sender: AnyObject) {
if thing < 11 {
firstNumber = Int(arc4random_uniform(UInt32(11)))
secondNumber = Int(arc4random_uniform(UInt32(11)))
answer = Int(firstNumber * secondNumber)
answerString = "\(answer)"
questionLabel.text = "What is " + "\(firstNumber)" + " x " + "\(secondNumber)"
.
.
.
}
}
}
推荐阅读
- python - 返回具有 % 匹配列的匹配词
- swift - 为什么将带有子类型 B 的某些元素的 A 类型数组发送到 Firestore 会强制全部发送给 A?
- ios - SwiftUI:警报自动关闭(当它不应该时!)
- javascript - 如何使最终用户无法访问由 Electron App 创建的 SQLite 数据库文件
- node.js - 从 MS Teams 中的消息扩展上传附件
- python - torch.cuda.is_available() 在项目外返回 True,在项目内返回 False
- codeigniter - Codeigniter 4 事务没有回滚
- sql - 用于创建总行的 SQL 行总和
- chromium - 在 chrome://newtab 中显示来自外部 URL 的图像
- reactjs - 滚动时隐藏标签栏,不是想要的结果