1

你能帮我写一个符合这个定义的块吗:(BOOL(^)(id))block.

我得到的最接近的是:

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

但似乎c在想要的消息中传递这个(BOOL(^)(id))block是不行的。

4

1 回答 1

1

如果需要一个 Block BOOL (^block)(id),您需要传递这样一个块而不是BOOL (^block)(MyObject *).

所以试试这个:

typedef BOOL (^birds)(id);
birds c = ^(id pp) { MyObject *p = (MyObject *) pp; return [p.something boolValue]; };
于 2010-08-26T10:20:22.430 回答