在我的应用程序中,我有一个" Play"按钮,它创建两个随机数并为这些数字创建一个字符串,然后用于填充卡的两个UIImage
持有者(在数组中设置的卡0-10)。然后将两个随机数加在一起。
有一个输入字段,用户可以输入他们的猜测,然后点击"提交"。如果他们的回答是正确的,那么它将会闪现"正确"。如果答案错误,它将闪烁再试一次。我的问题是如何将总变量传递给Submit,这样我才能成功创建if else语句?
所以这里是Play按钮Action的结束代码,它完美地运行
let total = firstRandomNumber + secondRandomNumber
以下是提交按钮的代码,它给出了一个错误
@IBAction func submit(sender: UIButton) {
correct.hidden = (true)
tryagain.hidden = (true)
let guess = Double(text.text!)
if guess = total {
correct.hidden = (false)
}
我得到的错误是"未定义的变量总数"
答案 0 :(得分:0)
因此,变量不会是PASSED
到Submit()
,因为它是按钮调用的函数。按钮可以粗略地处理您的两个变量。相反,您希望拥有两个全局变量(在本例中为两个随机数)并在Submit中请求它们。这些变量是在任何函数之外创建的,并在需要设置时设置。因此,让我们看看您是如何使用代码执行此操作的:
// Two random numbers (global)
var a: Int?
var b: Int?
func generateRandomNumber() {
a = // assign a to the number generator value
b = // same as above
}
func submit() { // your button call
if let userGuess = text.text { // do if let instead of ! it's safer
let total = a + b
if userGuess == total { // our check remember == is different from =
correctView.hidden = false
} else { // if it's wrong show this view
tryAgainView.hidden = false
}
}
}
显然有一大堆缺失,但你可以得到主要的想法。如果我能回答这个方法,请告诉我。