Хранить и получать данные для вызовов API - PullRequest
0 голосов
/ 14 октября 2018

Я разрабатываю приложение для магазина, и у меня есть возможность выбрать несколько предметов (одежду) с разными размерами.

Для этого я создал структуру, поэтому конечный результат товаров в корзине выглядит следующим образом:

let products = [
    Product(id: "1", quantities: [("1", 10), ("2", 10)]),
    Product(id: "2", quantities: [("1", 10), ("2", 10)]),
    Product(id: "3", quantities: [("1", 15), ("2", 20)]),
    Product(id: "4", quantity: 10),
]

Моя проблема в том, что я создаю этот массив внутри одного класса, а затем должен отправить егона сервер в другом классе.Суть в том, что пользователь может продолжать использовать приложение, поэтому данные о моих продуктах всегда должны где-то храниться и обновляться, если он добавляет новые продукты.

Каков наилучший способ хранения и извлечения данных этого массива в моем классе,обрабатывает вызовы API после того, как пользователь завершил создание своего заказа?

Следует ли хранить его UserDefaults, Realm или объявить глобальную переменную?

Я знаю, что это может быть довольно простой вопрос, и есть другие подобные вопросы по SO, но, поскольку есть много способов достижения этой задачи, я хотел бы знать, какой из них лучший и "Swifty" в моемчастный случай.Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 14 октября 2018

Ну, все зависит от ваших требований.Если вы не заботитесь о прогрессе пользователя, например, пользователь закрывает приложение и снова открывает приложение, он потеряет свой прогресс и должен будет начать сначала, а затем перейти с singleton.Создайте одноэлементный класс и сохраните там свой массив.
Если вы хотите сохранить прогресс пользователя, поэтому, если они выйдут из приложения и снова откроются, они могут начать с того места, где они ушли.Затем перейдите к UserDefault.
Теперь, если у вас есть простой и маленький набор данных, используйте UserDefaults, а если это сложный и большой набор данных, то используйте CoreData, Realm или любую другую базу данных, которая вам нравится..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...