在我的Xcode 6 beta-2项目中,我有多个UIViewController类型的快速文件。
我基本上想知道A文件中的一些数据,以便在B文件中使用。
我的文件都是UIViewControllers,我创建了一个没有参数的函数,它在UIViewController_A中返回一个字符串。当我试图在UIViewController_B中调用said函数时,intellisense为我填写了它,但是我说我必须有一个参数,该参数必须自动填充为UIViewController_A)。
在代码中,LoginScreen.swift == ViewController_A和ViewResidentsTask == ViewController_B。
我的函数名为checkPrivs,存在于LoginScreen.swift中,如下所示:
func checkPrivs()-> String{
return userPrivType
}我认为应该这样称呼它:
var userType = LoginScreen.checkPrivs()这就是intellisense在我尝试调用它时所做的事情:
var userType = LoginScreen.checkPrivs(LoginScreen)这会抛出一个错误,上面写着“预期的”、“分隔器”,不太确定我应该用什么替换LoginScreen,但是我尝试过的所有东西(空的、字符串的、当前的文件名)都会抛出一个错误。
发布于 2014-06-26 10:51:00
您应该首先创建LoginScreen实例并在该对象上调用方法:
let login = LoginScreen()
var userType = login.checkPrivs()发布于 2017-05-11 15:41:44
Swift 3
超级简单的答案--您所要做的就是用()初始化视图控制器,如下所示:
var userType = LoginScreen().checkPrivs()在最新版本的Xcode & Swift中,这在5/11/17的时候就适用于我了。
发布于 2022-04-15 17:03:32
很简单!只需在“Func”Public func sayhi(){ Print(“hi”) }之前加上“public”
虽然这并不适用于所有地方。先在操场上试一试才能明白!
https://stackoverflow.com/questions/24428426
复制相似问题