如何在

时间:2017-11-02 12:13:58

标签: ios swift function

我试图找出如何在不使用return的情况下在其创建的函数之外使用变量。例如:

import UIKit
var Finalvar = "test"
func test(var1: String) {
    var Finalvar = var1

}
test(var1: "Done")
print(Finalvar)

作为输出我得到“测试”而不是“完成”,我该如何改变呢?

2 个答案:

答案 0 :(得分:2)

Finalvar不是Finalvar

全局变量 Finalvar本地变量 Finalvar是两个不同的对象。

如果声明一个与全局变量同名的局部变量,则隐藏全局变量。

删除功能

中的var关键字
var finalVar = "test"

func test(var1: String) {
    finalVar = var1

}
test(var1: "Done")
print(finalVar)

在类或结构中,您可以使用self来指示访问该属性。

self.finalVar = var1

注意:变量(和函数)名称应以小写字母开头。

答案 1 :(得分:2)

您在Finalvar中再次宣布新的func test(),只需在您的函数中省略声明即可。下面的代码应该有效:

import UIKit
var finalVar = "test"
func test(var1: String) {
   finalVar = var1

}
test(var1: "Done")
print(finalVar)

另外一件重要的事情 - >请用小写而不是大写字母开始你的变量