Винаги получавам данни от уеб услуги, които използват GCD
, Сега трябва да използвам NSOperation
и NSOperationQueue
, Но аз съм объркан с работата на NSOperation
и NSOperationQueue
.
Да предположим, че имам два приложни програмни интерфейси (API), приложния програмен интерфейс (API) за вход и API за регистрация Трябва ли да създам две NSOperation
подкласове за него, като LoginOperation и RegistrationOperation? Или мога да изпратя различни искания в едно NSOperation
Class
?
И как трябва да запазя NSOperationQueue
клас централен, така че аз продължавам да добавяте оперативни класови обекти към него.
Моля, предоставете връзка за този тип примерни проекти.
Отговори:
0 за отговор № 1Това ще варира от проект до проект, но като цяло може да искате да имате само един основен подклас NSOperation
и подклас, че за вашите конкретни искания като LoginOperation
или RegistrationOperation
, Може да искате да погледнете AFNetworking
тъй като това вече е много добре изградена мрежова библиотека, която подкласове NSOperation
.
В зависимост от това, което правиш приложението си и как искате да управлявате заявките си, може да се наложи повече от това NSOperationQueue
, Това ще ви помогне да следите различните заявки и да знаете дали те са завършени, ако е необходимо, трябва да бъдат синхронизирани и т.н.
Погледнете това за нещо по-задълбочено: http://www.objc.io/issue-2/concurrency-apis-and-pitfalls.html