это приведет к сбою (при попытке доступа к недоступной памяти):
тирую некоторый код, который выполняет асинхронную обработку с использованием Grand Central Dispatch. Тестовый код выглядит так:
[object runSomeLongOperationAndDo:^{
STAssert…
}];
Тесты должны ждать окончания операции. Мое текущее решение выглядит так:
__block BOOL finished = NO;
[object runSomeLongOperationAndDo:^{
STAssert…
finished = YES;
}];
while (!finished);
Что выглядит немного грубым, знаете ли вы лучший способ? Я мог бы выставить очередь, а затем заблокировать, вызвавdispatch_sync
:
[object runSomeLongOperationAndDo:^{
STAssert…
}];
dispatch_sync(object.queue, ^{});
... но это может показаться слишком много наobject
.