2
我分析分析一些第三方的代碼,並有看起來像這樣的「偷懶」 var語句,我想了解一下括號內的「計算的財產」大括號後做:惰性var定義之後括號做了什麼?
lazy var defaults:NSUserDefaults = {
return .standardUserDefaults()
}()
「return .standardUserDefaults()」正在返回NSUserDefaults實例對象,那麼爲什麼要在右大括號後面添加一個()?
謝謝
謝謝,是的,這是有道理的。令我困惑的是,花括號使它看起來像沒有得到的「計算屬性」。編譯器如何知道它不是一個計算屬性,而是一個塊/閉包? – malena
塊末尾的()表示塊調用,而不是塊本身。 –
我還沒有完全理解它 - 它是封閉的嗎?有沒有詳細解釋呢?這個解釋(似乎確定)必須在Apple的快速文檔中......我可以在哪裏找到它?我還想知道在一本好的Swift書中能找到什麼?我搜查了蘋果書和其他書籍,但沒有發現任何東西 – mlev