2015-02-23 52 views
3

我在想,如果有這兩個之間有什麼區別一個函數調用中的一類:迅速函數調用:自關鍵詞VS不

self.myFuction() 

VS

myFunction() 

它是在工作雙向。有沒有必要使用self-keyword?

+1

這真的只是個人的喜好;對我而言,我更喜歡總是使用'self',因爲它更清楚地說明發生了什麼。舉例來說,帶有'enumerate()'方法的類和全局函數'enumerate()',在這種情況下調用哪一個並不重要,假設你有自己的方法和全局名爲「foo」, '自我'只是有助於澄清你打來的電話。 – Haravikk 2015-08-17 16:13:09

回答

4

在大多數情況下:絕對沒有區別。但是如果你省略「自我」,則更加「快速」。 但是有一種情況,當你必須在關閉表達式中使用self時:

但是自從Swift 1.2以及@noescape參數,你可以在閉包中省略「self」。

+0

非常感謝! – Michael 2015-02-23 14:13:50