2013-01-10 2 views
0

У меня есть класс Session, который я хочу провести и текущую информация о сеансе магазина приложения (например, lastLocation, remoteSessionToken, ...)Сохраните информацию о сеансе - еще одну таблицу Core Data или отдельный файл сеанса в формате «ключ-значение» (YAML, JSON)?

У меня есть по умолчанию настройки ядра данных с кучей таблиц и наиболее очевидным решением, я вижу чтобы создать еще одну таблицу «сеанса» с двумя строковыми полями: «поле» и «значение», и хранить данные сеанса этой таблицы в пути, как хранить информацию в других таблицах

'field'    'value' 
lastLocation  46.68,34.18 
removeSessionToken au987asdv7tta487tv9b 
... 

Кроме того, я знаю, возможно, это было сделано с использованием специального отдельного файла для настроек fx в формате YAML или JSON, но это приведет к логической несогласованности с наличием базы данных Core Data и файла.

Есть ли рекомендованный подход для хранения и сохранения информации о сеансе?

ответ

0

До тех пор, пока это не чувствительная информация, я буду последовательной и использую Core Data. Более неясным местом было бы поместить его в NSUserDefaults.

+0

благодарит за ответ. Я также думаю, что я должен пойти с вариантом CD, но хочу услышать, есть ли альтернативные ответы на этот вопрос. –

2

Если что-то вроде следующего не применимо, поместите его в пользовательские значения по умолчанию или в специальном файле назначения в каталоге документов:

  • У вас есть много сессий и нужно искать или фильтровать их на основе какой-то предикат
  • У вас более одного сеанса и сеансы имеют какое-то отношение к конкретным объектам в хранилище данных.

Это не «логическая несогласованность» для использования основных данных и отдельных файлов. Делайте то, что имеет смысл. Это вряд ли имеет смысл хранить эту информацию в вашем хранилище данных, поэтому не делайте этого, если у вас нет веских причин.

Если эту информацию можно считать чувствительной, поставьте ее в брелок.

Кроме того, это чрезвычайно уродливый, чтобы создать общий объект контейнера в данных ядра. Использование field и value полей, которые вы описываете, не является хорошим дизайнерским решением.