不确定块代码的方法名称

时间:2014-08-11 18:16:08

标签: ios objective-c queue dispatch

我想创建一个运行用户提供的代码块的方法,利用调度组,并实现如下:

dispatch_group_enter(self.group);
block(^ {
    dispatch_group_leave(self.group);
    if (completion) {
        completion();
    }
});

dispatch_group_wait(self.group, DISPATCH_TIME_FOREVER);

然而,我不知道如何写出这个方法的名称。

它类似于:

- (void)performBlock:(void(^)())block;

但请记住,提供的块必须有自己的回调才能完成。

实施将是这样的:

[object performBlock:^(void(^)() completion) {
    //Do stuff
    completion();
}];

1 个答案:

答案 0 :(得分:0)

如果我建议,我是否误解了这个问题?

- (void)performBlock:(void(^)())block completion:(void(^)())completion;

如果我没有误解,我会建议添加错误处理支持

- (void)performBlock:(void(^)())block completion:(void(^)(NSError *err))completion;