Подтвердить что ты не робот

Что такое объявление блока свойств, эквивалентное в быстром следующем блочном свойстве?

В Objective-C я делаю это:

@property (nonatomic, copy) void(^completion)(MyObject * obj);

Каков правильный способ сделать это быстро?

4b9b3361

Ответ 1

Соответствующее свойство закрытия будет объявлено как

class MyClass {
     var completion : ((MyObject) -> Void)? // or ...! for an implicitly unwrapped optional
}

Вы можете установить свойство как

completion = {
    (obj : MyObject) -> Void in
    // do something with obj ...
}

который можно сократить (из-за автоматического вывода типа) на

completion = {
    obj in
    // do something with obj ...
}