如何等待異步調度塊完成?我正在測試一些使用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。
如何等待異步調度塊完成?
慕無忌1623718
2019-07-23 16:37:44