我想创建一个运行用户提供的代码块的方法,利用调度组,并实现如下:
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();
}];
答案 0 :(得分:0)
如果我建议,我是否误解了这个问题?
- (void)performBlock:(void(^)())block completion:(void(^)())completion;
如果我没有误解,我会建议添加错误处理支持
- (void)performBlock:(void(^)())block completion:(void(^)(NSError *err))completion;