Я не знаю, где вы это видели, но это переменная закрытия.Вы можете вызвать его в классе / структуре, где объявлено это vote
, а затем будет вызван код внутри замыкания с определенными параметрами.
Например, если вы назначите vote
, как это
someClass.vote = { messageId, data in // name parameters or not: _,data ; messageId,_ ; _,_
print("Voted")
}
, тогда, если vote
вызывается изнутри класса / структуры,
vote(someMessageId, someData)
... "Voted"
печатается.
Итак, это полезный шаблон делегатазамена, которая позволяет вам объявить из одного класса / структуры, что произойдет, когда это замыкание будет вызвано из другого класса / структуры без объявления какого-либо протокола, назначения delegate
и наличия дополнительных методов.