В Objective-C я мог бы определить свой собственный тип блока:Вызова самоопределенного замыкания в Swift
typedef void (^myBlock)(id param1, id param2, BOOL param3);
затем определить тело блока где-нибудь еще (например, другой класс), чтобы сделать что-то с переданными значениями, такими как :
myBlock block = ^(id param1, id param2, BOOL param3) {
if (param3){
NSLog("parameters:%@,%@",param1,param2)
}};
Чтобы сделать то же самое в Swift я определил мой блок с помощью typealias
:
typealias myBlock = (param1:AnyObject, param2:AnyObject, param3:Bool) ->()
, но я не мог просто назвать это как:
let block: myBlock = {param1,param2,param3 in
if (param3){
print(param1,param2)
}}
и там было предупреждение:
Инициализация неизменного значения «блок» никогда не использовался; рассмотрите , заменив его на «_» или удалив.
Как я могу позвонить myBlock
и определить его тело в Свифт?
Заранее благодарен!