Ios 如何在函数中初始化全局变量,以便在Swift中进一步使用?

Ios 如何在函数中初始化全局变量,以便在Swift中进一步使用?,ios,swift,Ios,Swift,提前谢谢你的帮助。我刚刚开始使用swift,我正在使用Xcode尝试构建一个相当简单的应用程序 class ViewController: UIViewController { @IBOutlet var text: UITextField! @IBOutlet var Lable: UILabel! @IBOutlet var Button: UIButton! @IBOutlet var message1: UITextField! @IBOut

提前谢谢你的帮助。我刚刚开始使用swift,我正在使用Xcode尝试构建一个相当简单的应用程序

class ViewController: UIViewController {


    @IBOutlet var text: UITextField!
    @IBOutlet var Lable: UILabel!
    @IBOutlet var Button: UIButton!

    @IBOutlet var message1: UITextField!
    @IBOutlet var Button2: UIButton!

    var name = 0

    @IBAction func Button(sender: UIButton) {
         var name = text.text.toInt()
    }


    @IBAction func Button2(sender: UIButton) {

        var code = Array (message1.text).map{String($0).toInt()! }



        for var n = 0 ; n < code.count; n++
        {
            code[n] = code[n] + name
        }

        var StringArray = (code : String())

        if name != 0
        {
        message1.text = "name variable is inisialised"
        }

        else
        {
            message1.text = "Error name is not initialised"
        }

    }
类ViewController:UIViewController{
@IBOutlet var text:UITextField!
@IBVAR标签:UILabel!
@IBVAR按钮:UIButton!
@IBOutlet var message1:UITextField!
@IBVAR按钮2:UIButton!
变量名称=0
@iAction func按钮(发送方:UIButton){
var name=text.text.toInt()
}
@iAction func按钮2(发送方:UIButton){
var code=Array(message1.text).map{String($0).toInt()!}
对于变量n=0;n

当我尝试这一点时,我总是得到相同的答案,名称没有初始化,因为它的结尾仍然有全局初始化名称=0,但进一步,我将其初始化为int值,在文本字段中,但它不会更新全局变量。如果您能给我一些代码,用于初始化名称作为全局变量并使用它在其他功能中,这将是非常好的。感谢您抽出时间!

一个问题(不是您稍后会发现的唯一问题)是:

您在第二个变量中说了
var
,这使得
name
成为一个不同的
name
——函数中的一个局部变量。您没有使用全局变量,而是声明了一个不同的变量。用稍微更专业的术语来说,您重新声明了这个变量,使全局变量黯然失色。

更改
按钮()
功能用于:

@IBAction func Button(sender: UIButton) {
  // Handle the case where toInt() fails, by returning nil/.None
  // For example, shown below, set name to `0`
  name = text.text.toInt() ?? 0
}

另外,
name
是一个在分配数字时使用的特别糟糕的名称。也许
name\u index
更好?

其他问题与以下事实有关:
text.text.toInt()
不能直接分配给现有的
name
,因为
name
是一个Int,但
text.text.toInt()
不是。但是当你到达它的时候,你可以穿过那座桥……”但更进一步,我将它初始化为int值,并在文本字段中显示“不,你没有。这就是问题所在。
@IBAction func Button(sender: UIButton) {
  // Handle the case where toInt() fails, by returning nil/.None
  // For example, shown below, set name to `0`
  name = text.text.toInt() ?? 0
}