2017-01-22 229 views
0

我怎样才能将它转换为斯威夫特3:swift3 - 辛格尔顿

struct Static { 
    static var instance : myForm? 
    static var token : dispatch_once_t = 0 
} 
dispatch_once(&Static.token) { 
    Static.instance = myForm() 
} 
return Static.instance! 

回答

0

就在:

static let instance = MyForm() 

,并调用它

let form = MyForm.instance 

从文档的说明:

存储的类型属性在其第一次访问时被懒惰地初始化。它们保证只被初始化一次,即使同时被多个线程访问,也不需要用lazy修饰符进行标记。

PS:考虑structclass名称应该以大写字母开头。

+0

但在swift 3中不能使用dispatch_once_t – Sunny

+0

是的,用这一行替换**整个**代码 – vadian