2015-02-23 2 views
3

мне было интересно, если есть какая-то разница между этими двумя Функционально-звонки в классе:быстры вызовы функций: само-ключевое слово против без

self.myFuction() 

VS

myFunction() 

она работает в в обе стороны. Есть ли случай, когда необходимо использовать ключевое слово self?

+1

Это действительно личное предпочтение; для меня я предпочитаю всегда использовать 'self', потому что он более откровенен в том, что происходит. Возьмем, к примеру, классы с помощью метода «enumerate()» и глобальной функции «enumerate()», в то время как в этом случае не имеет значения, какой из них вызывается, представьте, что у вас есть свой собственный метод и глобальный с именем «foo», 'self' просто помогает выяснить, какой из них вы вызываете. – Haravikk

ответ

4

В большинстве случаев: нет абсолютно никакой разницы. Но это более «быстро», если вы опускаете «я». Но есть случай, когда вам нужно использовать self: в выражениях закрытия.

Но, так как Swift 1.2, с параметром @noescape, вы также можете опустить «я» в закрытие.

+0

большое спасибо! – Michael