У меня есть приложение Model Car в моем iOS-приложении, где его параметры, такие как имя, год, значение и т. Д., Извлекаются из веб-службы, чтобы заполнить список данными об автомобилях.
Куда мне поместить метод, который асинхронно отправляется на сервер и возвращает массив машин (этот метод уже преобразует JSON в массив Car)?
Мой текущий подход - статический метод в моем классе Car, который получает HttpClient (так что я могу выполнить модульное тестирование, которое издевается над клиентом) и возвращает NSArray из автомобилей, это хорошо?
Что вы, ребята, сделали в этой ситуации?
Я обеспокоен, потому что я недавно начал читать чистый код, который говорит, что класс должен делать только одну вещь, а то, как у меня сейчас получается, делает две вещи (хранит информацию об автомобиле и получает список автомобилей).
источник
Здесь необходимо хранить где-то другой объект, который не может быть гарантирован, что родитель всегда будет жив, чтобы обработать ответ.
Я предлагаю сохранить эти реализации в одном классе. Сохранение этого класса также будет полезно для реализации некоторых общих методов, которые можно вызывать очень часто.
источник
Вы можете вызвать асинхронный метод внутри метода ViewDidLoad, когда массив возвращается из сети, обновите представление. Вы можете сохранить массив в базе данных, поэтому вам не нужно будет загружать данные из сети каждый раз при загрузке Viewcontroller.
источник