Ios 如何在函数中初始化全局变量,以便在Swift中进一步使用?
提前谢谢你的帮助。我刚刚开始使用swift,我正在使用Xcode尝试构建一个相当简单的应用程序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
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
}