mutating method functions swift objective-c-blocks

method - ¿Cuál es la declaración de bloque de propiedad equivalente en swift de la siguiente propiedad de bloque?



swift method (1)

En Objective-C hago esto:

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

¿Cuál es la forma correcta de hacer esto de forma rápida?


La propiedad de cierre correspondiente se declararía como

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

Puede establecer la propiedad como

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

que se puede acortar (debido a la inferencia de tipo automática) a

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