2016-09-22 56 views

回答

2

這是實現回調在斯威夫特的基本方案。

該函數的參數completion的類型爲() -> Void)?,表示「不帶參數且不返回值的可選閉包」。

內部代碼測試可選值closurenil。如果它不是nil,則代碼將用!打開,然後撥打電話。

一個斯威夫特實現這個稍微更習慣的方法是if let結構:

private func viewWillTransition(completion:(() -> Void)?) { 
    if let nonEmptyCompletion = completion { 
     nonEmptyCompletion() 
    } 
}