IOS 4 - Aplicación de los bloques como un miembro de una clase
-
29-09-2019 - |
Pregunta
Yo estaba esperando que alguien podría ayudar a entender la sintaxis de los bloques cuando se utiliza como miembros de una clase. Tengo un código que realmente funciona muy bien:
@class Structure;
typedef void (^StructureDeleteCallback)(Structure *);
@interface StructureListDelegate : NRFCTableDelegate
{
StructureDeleteCallback _structureDeleteCallback;
}
@property (nonatomic, copy) StructureDeleteCallback structureDeleteCallback;
@end
Esto funciona, pero me gustaría entender la sintaxis de la instrucción typedef
; y si es o no es realmente necesario para utilizar typedef.
Lo que he leído dice que se recomienda el uso de typedef
en esta situación, ya que hace el código mucho más claro; pero no he podido conseguirlo para compilar en absoluto cuando se trata de hacer esto sin typedef
. Mi comprensión de typedef fue que la sintaxis era básicamente:
typedef [actual type] [new name for type];
Tales como:
typedef double CLLocationDegrees;
Sin embargo, la sintaxis de mi declaración typedef
no coincide con esto. Así que mis preguntas son:
- ¿Cómo puede la sintaxis de mi
typedef
declaración sea tan diferente de otra declaracionestypedef
/ lo que hace la sintaxis que estoy usando en realidad significan para el compilador? - ¿Es posible
tener un bloque como un miembro de una clase
sin utilizar
typedef
?
Solución
Me he preguntado una pregunta a lo largo de las líneas de suyo aquí: referencias a bloque como ejemplo vars en Objective-C