Ios 将Swift变量从一个iAction传递到另一个iAction

Ios 将Swift变量从一个iAction传递到另一个iAction,ios,swift,variables,Ios,Swift,Variables,在我的应用程序中,我有一个“播放”按钮,它创建两个随机数,并为这些数创建一个字符串,然后用于填充两个UIImage卡持有者(在数组中设置的卡0-10)。然后将这两个随机数相加 有一个输入字段,用户可以输入他们的猜测,然后点击“提交”。如果他们的答案正确,它将闪烁“正确”。如果答案是错误的,它将闪烁并重试。我的问题是如何将total变量传递给Submit,以便成功创建if-else语句 这里是播放按钮动作的结束代码,它可以完美地工作 let total = firstRandomNumber +

在我的应用程序中,我有一个“播放”按钮,它创建两个随机数,并为这些数创建一个字符串,然后用于填充两个
UIImage
卡持有者(在数组中设置的卡0-10)。然后将这两个随机数相加

有一个输入字段,用户可以输入他们的猜测,然后点击“提交”。如果他们的答案正确,它将闪烁“正确”。如果答案是错误的,它将闪烁并重试。我的问题是如何将total变量传递给Submit,以便成功创建if-else语句

这里是播放按钮动作的结束代码,它可以完美地工作

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)

}

我得到的错误是“undefined variable total”

,因此变量不会被
传递到
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
        } 
    }
}

很明显,这里缺少了很多,但是你可以得到主要的想法。如果我能回答这些问题,请告诉我。

注意
=
=
之间的区别。验证您是否真的在使用您想要的。what is text.text!您是否已将您的文本视图的引用命名为text?如果是这样,建议您将其更改为其他内容。请提及错误messege.total在哪里声明?谢谢John,我不确定是否可以将变量传递给操作。今晚我会玩它,看看它在全球范围内的随机化是否有效。