Async Operation vs Async Network задача?

Наличие общего сценария необходимости асинхронного вызова веб-службы RESTful для получения содержимого JSON, а затем синтаксического анализа этого ответа JSON для создания некоторых объектов модели данных. Этот процесс может быть отменен / возобновлен. Я не совсем уверен, какой лучший подход будет:

  • Реализация Operation для сетевого вызова и другого Operation для анализа JSON и установки зависимости между обеими операциями (вывод JSON из первой является вводом данных последней). Затем, добавив эти операции к OperationQueue,
  • Используя URLSession а также URLSessionDataTask выполнить сетевой вызов и разбор JSON в своем обратном вызове.

Или, может быть, другой другой и лучший способ?

РЕДАКТИРОВАТЬ: В моем сценарии мне не нужно выполнять одновременные сетевые вызовы. Если мне нужно вызвать службу с другими параметрами, я смогу при необходимости остановить предыдущую сетевую задачу и запустить новую.

1 ответ

Решение

В большинстве простых случаев ответом является просто URLSession, но если он сложен, как кажется, то Operation - полезный инструмент. Этот точный вариант использования подробно обсуждается в Advanced NSOperations.

Другие вопросы по тегам