@Mirzamorph

Каким образом реализовать хранение данных в мобильном приложении ios с вопросами и ответами на них?

Добрый день!

Я новичок в мобильной разработке и хотел бы узнать как лучше организовать хранение данных в приложении.
Мобильное приложение на базе ios, с использованием языка программирования swift 5.
Приложение будет состоять из регистрации(которая будет реализована с использованием firebase) и вопросов с ответами на них.
Например, предположим будет вопрос "Какой формы земля?" и внизу будет представлены ответы в виде кнопок "Круглая", "Квадратная", "Плоская", "Ромбовидная".
Также будут другие типы вопросов, например, вопрос о форме земли тот же, но вместо правильных ответов, будет text label, куда нужно будет вписать ответ.

Вопрос заключается в том, как именно лучше всего реализовать хранение этих вопросов с ответами на устройстве, я пока нашел несколько вариантов, но не знаю, какой из них лучше:
  • Plist файл
  • Json файл

Возможно есть и варианты получше.
То есть если реализовывать json файл, то будет выглядеть примерно так(пока еще думаю):
{
   "id": "1",
   "title": "Какой формы земля?",
    "type": "buttons",
    "right-answer": "Плоская",
    "wrong-answers": "Круглая, Квадратная, Ромбовидная"
}


И потом парсить все этот json в зависимости от поля type.

UPD:
Вопросы и ответы будут редактироваться только разработчиком, то есть в теории, чтобы пользователь увидел новые вопросы ему нужно будет обновить приложение в App Store.

UPD2:
А где правильнее хранить json файл?
На сервере или в самом приложении?
Все таки запросы к файлу, который лежит самом приложении, будут быстрее, чем к удаленному серверу, но в первом случае есть возможность изменить что-то в случае ошибки(Или сломать все).
  • Вопрос задан
  • 97 просмотров
Решения вопроса 2
IvanVorobei
@IvanVorobei
iOS разработчик, ещё интерфейсы дизайню
Конечно JSON, даже не сомневайся.
Архитектура правильная, чуть шлифануть:

{
   "id": "1", //  всё отлично
   "title": "Какой формы земля?", // можно question
   "type": "buttons", // Если это стиль отображения, тогда сделай массив. Если тип вопроса - всё ок
   "answers" {
      "correct": "Плоская"
      "incorrect": ["Круглая", "Квадратная", "Ромбовидная"]
   }
}


Для ответов обновил иерархию, неправильные ответы в массив. Правильные ответы хорошо бы тоже в массив.

UPD2:
А где правильнее хранить json файл?

Если вопросы добавлять редко, то локально. Ради потенциальной возможности исправить ошибку мучать http не стоит)
Ответ написан
briahas
@briahas
ObjC, Swift, Python
Если из предложенных вами вариантов - я бы выбрал JSON
Если предполагается в дальнейшем наворачивание параметров на элементы - то тут надо БД и я бы выбирал Realm
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Frogogo Москва
от 120 000 руб.
от 80 000 до 180 000 руб.
АКМЭ сервис Санкт-Петербург
от 100 000 руб.