Async Operation vs Async Network задача?
Наличие общего сценария необходимости асинхронного вызова веб-службы RESTful для получения содержимого JSON, а затем синтаксического анализа этого ответа JSON для создания некоторых объектов модели данных. Этот процесс может быть отменен / возобновлен. Я не совсем уверен, какой лучший подход будет:
- Реализация
Operation
для сетевого вызова и другогоOperation
для анализа JSON и установки зависимости между обеими операциями (вывод JSON из первой является вводом данных последней). Затем, добавив эти операции кOperationQueue
, - Используя
URLSession
а такжеURLSessionDataTask
выполнить сетевой вызов и разбор JSON в своем обратном вызове.
Или, может быть, другой другой и лучший способ?
РЕДАКТИРОВАТЬ: В моем сценарии мне не нужно выполнять одновременные сетевые вызовы. Если мне нужно вызвать службу с другими параметрами, я смогу при необходимости остановить предыдущую сетевую задачу и запустить новую.
1 ответ
В большинстве простых случаев ответом является просто URLSession, но если он сложен, как кажется, то Operation - полезный инструмент. Этот точный вариант использования подробно обсуждается в Advanced NSOperations.