2017-01-22 190 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