2013-02-20 31 views
0

如何無效的typedef傳遞給方法如何使用參數傳遞塊的方法

我有一個typedef

typedef void (^FBLoginHandler)(id <FaceBook>,bool,NSError *error); 

FBLoginHandler testHandler;

^(id<FBLoginHandler>, bool, NSError *)error 

[login log:@"AccessToken" handler:^(id<FBLoginHandler>, bool, NSError *)error]; 

任何一個可以建議我如何的typedef值傳遞給方法

[login log:@"AccessToken" handler:???]; 
+0

[登錄日誌:@「AccessToken」處理程序:^(id login,bool success,NSError *)error){//您的方法在這裏....使用塊內傳遞的參數。 }]; – 2013-02-20 13:04:17

回答

2
[login log:@"AccessToken" handler:^(id<FaceBook> object, bool trueOrFalse, NSError *error){ 
    // ... do whatever you'd like to do here. 
}]; 

或...

void ^(handlerBlock)(id<FaceBook>, bool, NSError *) = ^(id<FaceBook> object, bool trueOrFalse, NSError *error) { 
    // ... do whatever you'd like to do here 
}; 

[login log:@"AccessToken" handler:handlerBlock]; 

或...

[login log:@"AccessToken" handler:nil]; 
+0

如果我通過零它的崩潰! – kiran 2013-02-21 00:02:15

+0

@kiran,可能是因爲他們沒有處理'nil'指針,或者該參數不是可選的。我沒有看到它的文檔。我會說,通常,你可以毫無問題地通過'nil'。 – holex 2013-02-21 00:34:02

相關問題