2015-11-10 7 views

ответ

0

Пропустить закрытие.

speechSynthesizer.speak(actions.first) { 
    // code to be executed after speaking 
} 

Это то же самое, как

speechSynthesizer.speak(actions.first, onComplete: { 
    // code to be executed after speaking 
}) 

, но очевидно, что синтаксис закрытия трейлинг выглядит намного чище.

Пояснение:

  1. первая часть () означает "функцию без аргументов",
  2. вторая часть ->() средства "без возвращаемого значения".
+0

Добавлено объяснение. – Mundi

0

Существует несколько вариантов. Самые простой в этом случае, учитывая, что onComplete является последним закрытием следующим:

speechSynthesizer.speak(actions[0]) { 
    # onComplete code goes here 
} 

На замечании к определению функции в вашем вопросе. Вероятно, это должно быть

func speak(text:String, onComplete:() -> Void) {...} 
Смежные вопросы