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

use*_*262 6 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
}
Run Code Online (Sandbox Code Playgroud)

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

var userType = LoginScreen.checkPrivs()
Run Code Online (Sandbox Code Playgroud)

当我尝试调用它时,这就是intellisense所做的事情:

var userType = LoginScreen.checkPrivs(LoginScreen)
Run Code Online (Sandbox Code Playgroud)

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

我对Xcode和ac#background都很陌生,任何帮助都会非常感激.

答案: 事实证明我在UIViewController类中声明了'loginScreen',而我应该在类之外声明它.

Gre*_*reg 10

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

let login = LoginScreen()
var userType = login.checkPrivs()
Run Code Online (Sandbox Code Playgroud)