Pregunta

Puede usted por favor escriba para mí un bloque que se ajusta a esta definición:. (BOOL(^)(id))block

Lo más cerca que he conseguido es:

typedef BOOL (^birds)(MyObject*);
birds c = ^(MyObject* p){ return (BOOL)[p.something boolValue]; };

Sin embargo, parece que pasa esta c en un mensaje que quiere (BOOL(^)(id))block es un no ir.

¿Fue útil?

Solución

Si se espera una BOOL (^block)(id) bloque que necesita para pasar un bloque de este tipo y no una BOOL (^block)(MyObject *).

Así que trate esto:

typedef BOOL (^birds)(id);
birds c = ^(id pp) { MyObject *p = (MyObject *) pp; return [p.something boolValue]; };
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top