我的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',而我应该在类之外声明它。
答案 0 :(得分:10)
您应首先创建LoginScreen的实例并在该对象上调用方法:
let login = LoginScreen()
var userType = login.checkPrivs()
答案 1 :(得分:2)
Swift 3
超级简单的答案 - 您所要做的就是使用()初始化视图控制器,如下所示:
var userType = LoginScreen().checkPrivs()
这对我来说是最新版本的Xcode&迅速的。