Чтение через Advanced Swift, и это дает следующий пример
«В Swift вы можете определять функции двумя способами. Один с ключевым словом func. Другой способ - использовать закрывающее выражение. Рассмотрим эту простую функцию для удвоения числа:
func doubler(i: Int) -> Int {
return i * 2
}
[1, 2, 3, 4].map(doubler) // [2, 4, 6, 8]
А вот та же функция, написанная с использованием синтаксиса выражения замыкания. Как и раньше, мы можем передать его на карту:
let doublerAlt = { (i: Int) -> Int in return i*2 }
[1, 2, 3, 4].map(doublerAlt) // [2, 4, 6, 8]”
Я поиграл с этим и написал следующий код в классе ячеек представления коллекции.
let setupView = {(label: UILabel) in
addSubview(label)
label.topAnchor.constraint(equalTo: topAnchor).isActive = true
label.leftAnchor.constraint(equalTo: leftAnchor).isActive = true
label.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
label.rightAnchor.constraint(equalTo: rightAnchor).isActive = true
}
func setupViews(label: UILabel) {
addSubview(label)
label.topAnchor.constraint(equalTo: topAnchor).isActive = true
label.leftAnchor.constraint(equalTo: leftAnchor).isActive = true
label.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
label.rightAnchor.constraint(equalTo: rightAnchor).isActive = true
}
Верхний выводит мне ошибки, а нижний с использованием ключевого слова func работает нормально. Я думаю, они оба должны работать. Мне интересно, если кто-то сможет объяснить.