Me gustaría almacenar bloques Object-c en una propiedad para su uso posterior. No estaba seguro de cómo hacerlo, así que busqué en Google un poco y hay muy poca información sobre el tema. Pero al final he logrado encontrar la solución y he pensado que valdría la pena compartirla con otros novatos como yo.Cómo almacenar bloques en propiedades en Objective-C?
Inicialmente pensé que necesitaría escribir las propiedades a mano para usar Block_copy & Block_release.
Afortunadamente he descubierto que blocks are NSObjects y - copy
/- release
es equivalente a Block_copy
/Block_release
. Entonces puedo usar @property (copy)
para auto generar setters & getters.
duplicado posible de [? ¿Puedo utilizar Objective C-bloques como propiedades] (http://stackoverflow.com/questions/3935574/can-i-use-objective-c-blocks-as-properties) Esta pregunta es más reciente que la de allí. –
Código de ejemplo completo, ACTUALIZADO, explicado simplemente para principiantes: http://stackoverflow.com/a/20760583/294884 – Fattie
Para los nuevos lectores, esta pregunta extremadamente antigua ahora es felizmente extremadamente pasada de moda. Usted simplemente dice ** @ property (copy) void (^ doStuff) (void); ** con nada más o menos que copiar. nowadys esto se explica con claridad de cristal (incluido el por qué) en una serie de lugares en el Apple doco. no podría ser más simple; esa es toda la respuesta. De hecho, todo el tema tiene un valor histórico, ya que ahora solo usa Swift. – Fattie