2010-08-26 57 views
1

您能否爲我寫一個符合此定義的塊:(BOOL(^)(id))block接受對象並返回布爾值的Objective-C塊

我得到的最接近的是:

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

但似乎通過這c在誰願意(BOOL(^)(id))block一個消息是沒有去。

回答

1

如果預計需要BOOL (^block)(id)區塊,則需要通過此區塊而不是BOOL (^block)(MyObject *)

那麼試試這個:

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

您可以編輯分號添加到該行的結束?它絆倒了我,所以它可能會絆倒別人。 – 2010-11-05 05:57:07

+0

爲什麼不使用typedef BOOL(^ birds)(* MyObject); ? – sleepwalkerfx 2013-02-13 06:29:32