跨多个 UIViewControllers 重用一个函数

Reuse a function across multiple UIViewControllers

我可以在多个 UIViewController 中重用一个变量,方法是将它存储在我项目中的一个单独的 Swift 文件中,但我似乎无法对函数执行相同的操作。它根本不像变量那样被识别。

我该怎么做?

您甚至可以在同一个文件中定义它,但如果必须在 class 主体之外,这会使它成为一个全局变量或函数,并且可以从任何地方访问它。

你必须在 class-body 之外声明它:

import UIKit
import SpriteKit

class OneClass{
    func notGlobal(){
      println("not global")
}

func globalMethod(string:String){
    println("its global")
}

查看 Swift 扩展:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html

如果这是 UIViewController 的所有实例都需要的函数,您可以将该方法放在 UIViewController 扩展中。