Блок Objective-C, который принимает объект и возвращает логическое значение - PullRequest
1 голос
/ 26 августа 2010

Можете ли вы написать для меня блок, который соответствует этому определению: (BOOL(^)(id))block.

Самое близкое, что я получил, это:

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

Но, кажется, это мимо* в сообщении, которое хочет (BOOL(^)(id))block - нет.

1 Ответ

1 голос
/ 26 августа 2010

если ожидается блок BOOL (^block)(id), вам нужно пропустить такой блок, а не BOOL (^block)(MyObject *).

Так попробуйте это:

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