Я начал дизайн для NetworkCommunication
. У меня была конструкция, в которой подклассы NSOperation
создают и управляют собственными NSURLConnection
. Подкласс NSOperation
создается экземпляром класса NetworkManger
, который добавляет его в NSOperationQueue
. По завершении запроса делегат (например: ViewController
будет вызываться). Это поток:
Network Manger создает экземпляр подкласса NSOperation
(который инкапсулирует URL, параметры и т.д.) и добавляет его в NSOperationQueue
, который он поддерживает.
Подкласс NSOperation создает экземпляр NSURLConnection
(который выполняет запрос asynchronous
и получает данные)
NSURLConnection
записывает данные в подкласс NSOperation
Подкласс NSOperation выполняет блок завершения, предоставленный делегатом (контроллер просмотра).
Я пытаюсь реализовать тот же шаблон с NSURLSession
сейчас. Я хочу иметь возможность инкапсулировать URL-адрес и параметры, необходимые для создания сетевого запроса внутри одного объекта.
Хорошо, если я использую тот же шаблон, если я использую NSURLSession
. Я проверил классы AFNetworking
. Но они не подклассифицировали NSOperation для NSURLSession
. И, кроме того, куда должен идти объект сеанса. Будет ли он частью класса NSOperation.
Может кто-нибудь дать некоторые экспертные советы по этому поводу. Я должен иметь возможность отменять запросы, загружать (POST/PUT), загружать данные. Класс Network Manager был бы единственной точкой контакта для любого сетевого запроса.