如何在Swift中的函数外共享变量?

时间:2017-12-27 23:09:40

标签: swift

我试图创建一个像Uber这样的应用程序,你可以跟踪其他人的位置并将其呈现给你的手机。所以,我将经度和纬度转换为var并尝试将其实现到用户的地图中。然后就是这样我的Xcode项目上的奇怪问题不起作用,会给我一个令人困惑的错误。Here is the code

1 个答案:

答案 0 :(得分:1)

所以我假设这是在一个类中,你希望类中的所有函数都能够访问它。

目前你遇到这种情况(不起作用):

class Test1 {
    func method1 {
        var myVar1 = 0
        myVar += 5
    }

    func method2 {
        var otherVar1 = myVar1 // Error here
        otherVar1 += 10
    }
}

你能做的就是这样做:

class Test2 {
    var myVar1 = 0

    func method1 {
        myVar += 5
    }

    func method2 {
        var otherVar1 = myVar1 // This works (I might put self.myVar1 to make it clearer.
        otherVar1 += 10
    }
}

在第二个myVar现在被声明为一个类实例变量,该类中的任何方法都可以访问它,实际上如果它是公共的,那么类之外的任何东西(只要该类仍然存在)。