iOS异步请求:使用GCD等待多个请求完成后执行下一步操作 - 代码示例
在iOS开发中,可以使用GCD(Grand Central Dispatch)来实现异步请求的结束后再进行下一步的代码。\n\n以下是一个示例代码:\n\nobjective-c\ndispatch_group_t group = dispatch_group_create();\ndispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n\n// 发起异步请求A\ndispatch_group_enter(group);\ndispatch_async(queue, ^{\n // 异步请求A的代码\n // ...\n \n dispatch_group_leave(group);\n});\n\n// 发起异步请求B\ndispatch_group_enter(group);\ndispatch_async(queue, ^{\n // 异步请求B的代码\n // ...\n \n dispatch_group_leave(group);\n});\n\n// 等待两个异步请求都结束后进行下一步操作\ndispatch_group_notify(group, dispatch_get_main_queue(), ^{\n // 两个异步请求都结束后执行的代码\n \n // ...\n});\n\n\n在上述代码中,我们使用dispatch_group_t来创建一个分组,然后使用dispatch_group_enter和dispatch_group_leave来标记异步请求的开始和结束。在每个异步请求的代码块中,当请求结束时,我们调用dispatch_group_leave来告知分组一个任务已经完成。\n\n最后,我们使用dispatch_group_notify来等待所有的异步请求都结束后执行下一步操作的代码。在这个示例中,我们将下一步的操作放在主队列(dispatch_get_main_queue())中执行,以确保UI的更新在主线程中进行。\n\n请注意,上述代码仅为示例,具体的实现方式可能因实际需求而有所不同。
原文地址: https://www.cveoy.top/t/topic/qb78 著作权归作者所有。请勿转载和采集!