【发布时间】:2015-01-27 19:13:20
【问题描述】:
我可以跨多个 UIViewController 重用一个变量,方法是将它存储在我的项目中的一个单独的 Swift 文件中,但我似乎不能对函数做同样的事情。它根本无法像变量那样被识别。
我该怎么做?
【问题讨论】:
我可以跨多个 UIViewController 重用一个变量,方法是将它存储在我的项目中的一个单独的 Swift 文件中,但我似乎不能对函数做同样的事情。它根本无法像变量那样被识别。
我该怎么做?
【问题讨论】:
你必须在类体之外声明它:
import UIKit
import SpriteKit
class OneClass{
func notGlobal(){
println("not global")
}
func globalMethod(string:String){
println("its global")
}
【讨论】:
self 来引用当前视图控制器。我将全局函数更改为将视图控制器作为附加参数,现在它可以工作了。
如果这是您希望所有UIViewController 实例的函数,您可以将该方法放在UIViewController 扩展中。
【讨论】:
您甚至可以在同一个文件中定义它,但如果必须在 class 主体之外,这将使其成为全局变量或函数,并且可以从任何地方访问。
【讨论】: