在for循环中,如何在跳转到下一次迭代之前等待进程完成? (IOS)

时间:2018-03-19 09:31:20

标签: ios objective-c

示例代码:

for (int i = 0; i < 5; i++)  
{  
    NSLog(@"%d Iteration started",i); 
   [[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:      ^(NSData * _Nullable data,        NSURLResponse * _Nullable response,        NSError * _Nullable error) {     
    NSLog(@"%d iteration completed ",i);  
    }] resume];
}

//在移动到下一次迭代之前,应该执行块中的日志!

1 个答案:

答案 0 :(得分:1)

完成处理程序就是这样;完成任务时调用的处理程序。

如果您希望在当前任务完成时启动下一个任务,则从完成处理程序中触发它。

[[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:      ^(NSData * _Nullable data,        NSURLResponse * _Nullable response,        NSError * _Nullable error) {     
    NSLog(@"%d iteration completed ",i);
    // kick off next request here.
}] resume];