Me preguntaba si es posible almacenar una referencia a una función anónima (bloque) como una variable de instancia en Objective-C.Referencias de bloques como variables de instancia en Objective-C
Sé cómo usar la delegación, la acción del objetivo, etc. No estoy hablando de esto.
¿hay alguna manera de tener un tipo genérico para un bloque? Odio que necesito tener un 'typedef' allí. –
@Jacob, sí, puedes hacer: 'void (^) (void)' (o la firma de bloque que necesites) donde sea que veas 'MyCustomBlockType'. Sin embargo, * prometo * que el uso de 'typedef' hará las cosas mucho más fáciles de asimilar en el largo plazo. Sin embargo, no hay forma de decir "ningún bloque con ningún valor de retorno ni ningún parámetro. Debe ser explícito sobre la firma." –
@Jacob Todavía está limitado por el sistema de tipos de C. No existe el bloque "genérico". , aunque en C++ es posible que puedas hacer algunas cosas alucinantes con plantillas y bloques. Más realistamente, escribe 'id' es genérico con respecto a los tipos Objective-C, por lo que toma y devuelve (posiblemente nulo)' id' s te da mucha flexibilidad. –