我需要通过以下步骤执行一个场景:
- 使用用户提供的一些搜索参数进行网络调用
- 然后,解析其 JSON 响应并创建模型实体
- 然后,对于创建的每个实体,如果它具有关联的图像 URL,则调用相应的服务来下载此类图像,并在下载完成时将其显示在
UICollectionView 中。
下载我需要的 N 个图像时,我需要处理并发网络调用。用户应该可以取消当前的搜索流程并开始一个新的搜索流程。另外,我应该考虑到某个图像的单元格尚未显示或已出列。所以,我的问题是:这将是最好的方法?
- 直接使用
URLSession 和URLSessionDownloadTask 执行第一次网络调用(无并发)和JSON响应解析,并使用Operation 和OperationQueue 用于后续步骤。如果用户想要取消对 URLSession 和 cancelAllOperations() 当前搜索。
- 使用
Operation 和 OperationQueue 执行完整的流程。
- 还有其他更合适的方法吗?
Best Answer-推荐答案 strong>
最好的方法是进行同步或异步调用来进行第一次服务调用。完成后,同步解析 json,然后使用延迟加载概念(异步调用)加载是否要下载任何图像以显示图像。
关于ios - 我应该在这个完整的场景中使用操作队列吗?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/41279053/
|