在swift中使用类型级方法

时间:2015-02-28 09:08:38

标签: swift

我只知道类型级方法,在类中我们应该使用 class ,在struct或enum中应该使用 static 。但是......让我们看看我的例子(My Xcode版本是6.3 beta 5),

class manager:NSObject{
   var type:NSDictionary?
   var array = NSMutableArray()

   class func start(types:NSDictionary){
       if array.count == 0 {...}
       self.type = types
   }
}

我会在类型级方法 start

中遇到错误
'start.Type' does not have a member named 'array'

'start.Type' does not have a member named 'type'

那么,正确的用法是什么?非常感谢!

1 个答案:

答案 0 :(得分:0)

你想要达到什么目的?你的例子并不明显。

在任何情况下,类级函数的常见用法是单例的访问者(例如UIApplication中的sharedApplication

以下是如何实现此类方法的示例:

private var _sharedManager = Manager()

class Manager {
    class func sharedManager() -> Manager {
        return _sharedManager
    }
}

请注意,由于Swift 1.1尚不支持类级变量,因此模块级私有变量通常用于存储类级函数的数据。