У меня есть следующий (псевдо) код:
- (void)testAbc
{
[someThing retrieve:@"foo" completion:^
{
NSArray* names = @[@"John", @"Mary", @"Peter", @"Madalena"];
for (NSString name in names)
{
[someObject lookupName:name completion:^(NSString* urlString)
{
// A. Something that takes a few seconds to complete.
}];
// B. Need to wait here until A is completed.
}
}];
// C. Need to wait here until all iterations above have finished.
STAssertTrue(...);
}
Этот код работает на основном потоке, а также блок завершения A находится в основном потоке.
- Как подождать завершения B для A?
- Как выполнить следующий этап ожидания для C для завершения внешнего блока завершения?