如何为方法编写并传递完成块参数?

时间:2015-01-23 16:49:17

标签: ios objective-c objective-c-blocks completion-block

我有一个基本上使用它的方法:

-(void)myMethodwithDuration:(NSTimeInterval)time{
[UIView animateWithDuration:time
                     animations:^{
                          // do thing here
                     }
                     completion:^(BOOL finished){
                          //do completion stuff here
                     }
     ];

我不知道该怎么做是编写/打包参数,以便我可以编写我想要执行的代码,然后简单地将它传递给方法,就像我使用{{1}一样}。

任何帮助表示赞赏。感谢

1 个答案:

答案 0 :(得分:1)

接受void返回值和BOOL参数的块:

- (void)myMethodWithBlock:(void (^)(BOOL someCoolBool))block {
    if (block) {
        block(YES);
    }
}

要打电话:

[self myMethodWithBlock:^(BOOL someCoolBool) {
    if (hasParams) {
        //....
    }
}];

快速参考:FBS.com