Swift:如何从不同的swift文件中调用函数

时间:2014-06-26 10:45:32

标签: ios swift xcode6

我的Xcode 6 beta-2项目中有多个UIViewController类型的swift文件。

我基本上想知道文件A中的一些数据,以便在文件B中使用。

我的文件都是UIViewControllers,我创建了一个没有参数的函数,它返回UIViewController_A中的字符串。当我尝试在UIViewController_B中调用所述函数时,intellisense为我填写,但是我必须有一个自动填充为UIViewController_A的参数。

在代码中,LoginScreen.swift == ViewController_A和ViewResidentsTask == ViewController_B。

我的函数名为checkPrivs,存在于LoginScreen.swift中,如下所示:

func checkPrivs()-> String{
    return userPrivType
}

这就是我认为它应该被称为:

var userType = LoginScreen.checkPrivs()

当我尝试调用它时,智能感知就是这样做的:

var userType = LoginScreen.checkPrivs(LoginScreen)

这会引发错误,说“预期”,“分隔符” 不确定我应该用什么替换LoginScreen但是我尝试过的所有内容(空,字符串,当前文件名)都会引发错误。

我对Xcode很新,从c#背景来看,任何帮助都会非常感激。

答案:结果我在UIViewController类中声明了'loginScreen',而我应该在类之外声明它。

2 个答案:

答案 0 :(得分:10)

您应首先创建LoginScreen的实例并在该对象上调用方法:

let login = LoginScreen()
var userType = login.checkPrivs()

答案 1 :(得分:2)

Swift 3

超级简单的答案 - 您所要做的就是使用()初始化视图控制器,如下所示:

var userType = LoginScreen().checkPrivs()

这对我来说是最新版本的Xcode&迅速的。