Я хотел бы передать в разных блоках в метод.Метод впоследствии будет использовать переданный блок в качестве параметра для dispatch_async.
Мой блок объявлен следующим образом:
typedef int (^ComputationBlock)(int);
Метод класса, который принимает блок, реализован следующим образом:
- (void)doSomething:(int)limit withBlock:(ComputationBlock)block;
{
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
// typical in-lined block for dispatch_async:
dispatch_async(queue, ^{
// do some work here
});
// I want to pass in the block as the 2nd parameter to dispatch_async
// but the compiler will warn me of a type mismatch unless I cast
// the block like:
dispatch_async(queue, (dispatch_block_t)block);
}
@end
Можно ли ввести тип 'block
'параметр как dispatch_block_t
?