你能为我写一个符合这个定义的块:(BOOL(^)(id))block
。
我最接近的是:
typedef BOOL (^birds)(MyObject*);
birds c = ^(MyObject* p){ return (BOOL)[p.something boolValue]; };
但似乎将c
传递给希望(BOOL(^)(id))block
的消息中的{{1}}是不行的。
答案 0 :(得分:1)
如果预期阻止BOOL (^block)(id)
,则需要传递此块而不是BOOL (^block)(MyObject *)
。
所以试试这个:
typedef BOOL (^birds)(id);
birds c = ^(id pp) { MyObject *p = (MyObject *) pp; return [p.something boolValue]; };