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,我不确定是否可以将变量传递给操作。今晚我会玩它,看看它在全球范围内的随机化是否有效。