2015-09-23 4 views
-2

Когда я пишу новый метод подпись в Swift, я следую схеме:Почему Там три слова некоторого протокол Init Подпись

func methodName(varName1: VarType1, varName2: VarType2, ...) { 

Глядя на некоторых из необходимых инициализаторов протокола, я нашел таинственную треть слово в подписи. Например:

required init?(coder aDecoder: NSCoder) { 

Я понимаю, что aDecoder этого имя паров и NSCoder типа. Но что на Земля is coder? Для любви ко всему, что хорошо, почему Свифт должен сделать простые вещи настолько запутанными?

+0

потому что вы не читаете документы? 'coder' - это имя метки,' aDecoder' - это имя переменной, 'NSCoder' - это имя типа. все они должным образом задокументированы в официальном быстром документе. –

+0

Я прочитал документы и прошел через лапы. Было не слишком ясно, что имя переменной не было меткой. – Alex311

ответ

-1

В этом случае coder - это внешнее имя параметра, а aDecoder - локальное имя параметра.