Нужно ли создавать подкласс NSOperation для каждого веб-сервиса?
Я всегда получаю данные из веб-сервисов, используя GCD
, Теперь я должен использовать NSOperation
а также NSOperationQueue
, Но я запутался с работой NSOperation
а также NSOperationQueue
,
Предположим, у меня есть два API, API входа и API регистрации. Должен ли я создать два NSOperation
подклассы для него, такие как LoginOperation и RegistrationOperation? Или я мог бы отправить различные запросы в одном NSOperation
Class
?
И как я должен держать NSOperationQueue
Центральный класс, так что я продолжаю добавлять объекты класса операций к нему.
Пожалуйста, предоставьте ссылку на этот тип проекта.
1 ответ
Это будет варьироваться от проекта к проекту, но, как правило, вы можете иметь только один базовый подкласс NSOperation
и подкласс, который для ваших конкретных запросов, таких как LoginOperation
или же RegistrationOperation
, Вы можете посмотреть в AFNetworking
так как это уже очень хорошо зарекомендовавшая себя сетевая библиотека, которая подклассы NSOperation
,
В зависимости от того, что делает ваше приложение и как вы хотите управлять своими запросами, вам может понадобиться больше одного NSOperationQueue
, Это поможет вам отслеживать различные запросы и знать, были ли они выполнены, если это необходимо, необходимо синхронизировать их и т. Д.
Посмотрите на это для чего-то более глубокого: http://www.objc.io/issue-2/concurrency-apis-and-pitfalls.html