Закрытие типа (Int) -> ()
ожидает один параметр (и Swift скажет вам, что этот параметр нельзя неявно игнорировать).
Итак, если вы хотите иметь замыкание, которое принимает один параметр, вы должны указать это явно:
let myClosure: (Int) -> () = { parameter in }
(если вам не нужен параметр, вы можете заменить его символом подстановки, чтобы игнорировать его)
let myClosure: (Int) -> () = { _ in }
Кроме того, вы можете использовать неявные аргументы ($0
, $1
и т. Д.), Но они работают только тогда, когда вы используете параметр где-то в замыкании (например, присваивая его другой переменной или передавая его в качестве параметра) к функции):
let myClosure: (Int) -> () = { print($0) }