异步操作与异步网络任务



具有需要异步调用Rentful Web服务以获取JSON内容的常见场景,然后解析JSON响应以创建某些数据模型实体。可以取消/恢复此过程。我不确定哪种最好的方法是:

  • 为网络调用实现Operation,另一个用于JSON解析的Operation,并在两个操作之间设置依赖关系(前者的JSON输出是后者的数据输入)。然后,将这些操作添加到OperationQueue
  • 使用URLSessionURLSessionDataTask执行网络调用,并在其回调中解析JSON。

或另一种不同,更好的方法?

编辑:在我的情况下,我不需要执行并发网络调用。如果我需要用不同的参数调用服务,则应在必要时停止以前的网络任务,然后开始新的网络任务。

在大多数简单的情况下,答案只是一个urlsession,但是如果它看起来很复杂,那么操作就是一个有用的工具。此精确的用例在高级nsoperation中详细讨论。

最新更新