Структура проекта iOS для вызовов APIIOS

Программируем под IOS
Ответить
Anonymous
 Структура проекта iOS для вызовов API

Сообщение Anonymous »

Я начал писать приложение для iOS, которое вызывает различные вызовы веб-служб для подключения к данным в базе данных, аутентификации и т. д.

Мне хотелось бы узнать хороший способ структурирования проекта, в частности области модели (проект — MVVM) и любых вызовов API, который предоставляет мои данные.

В настоящее время у меня есть:

--Модели

--Виды

-- ViewModels

-Services

Любой код-оболочка API находится в сервисах, например любая функция входа в систему или API. вызывает, чтобы получить что-то из базы данных.

Код модели затем использует эти оболочки для обработки данных.

Однако я не уверен, какое решение является лучшим для структуры моего проекта. Скажем, например, у моего API был вызов веб-службы, который возвращал мне список песен:

Где лучше разместить оболочку для вызова API на заднем плане? конец?

Что в грубом виде будет присутствовать в моей модели для этого примера? - т. е. я немного не уверен в том, сколько кода должно быть в модели, должен ли он вызывать API вместо оболочки или это должен быть буквально простой объект, описывающий только поля в модели (название песни, исполнитель и т. д.) ), или, наконец, он должен иметь базовые функции для вызова кода оболочки?

Должен ли я использовать синглтон для большей части вызовов API, поскольку мне не нужно создавать больше экземпляров чем один раз для того, что фактически является «помощником»?

Наконец, если мой API извлек либо список песен, либо только одну песню путем фильтрации, как это можно смоделировать, нужны ли мне две совершенно разные модели: одна — список песен, другая — отдельная песня? Если у меня есть простой класс для модели, в котором перечислены только поля, я вижу, как другой код может вызвать мой API и создать список этого объекта, но если модель содержит функции, например, для получения альбомов, я не могу этого сделать.

Подробнее здесь: https://stackoverflow.com/questions/364 ... -api-calls
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»