Не уверен в имени метода блочного кода
Я хочу создать метод, который запускает предоставленный пользователем блок кода, используя группы диспетчеризации, и имеет следующую реализацию:
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 ответ
Я неправильно понял вопрос, если я предлагаю?
- (void)performBlock:(void(^)())block completion:(void(^)())completion;
Если я не понял неправильно, я бы рекомендовал добавить поддержку обработки ошибок
- (void)performBlock:(void(^)())block completion:(void(^)(NSError *err))completion;