0

我有一个 Session 类,我想保存和存储应用程序的当前会话信息(如 lastLocation、remoteSessionToken、...)

我有一堆表的默认核心数据设置,我看到的最明显的解决方案是再创建一个表“会话”,其中包含两个字符串字段:“字段”和“值”,并以像我一样的方式将会话信息存储到该表中将任何信息存储到其他表

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

另外,我知道我可以使用一个特殊的单独文件来完成此操作,用于 YAML 或 JSON 格式的设置 fx,但这会导致 Core Data 数据库和文件的逻辑不一致。

是否有任何推荐的方法来保存和持久化会话信息?

4

2 回答 2

2

除非适用以下内容,否则将其放在用户默认值或文档目录中的特殊用途文件中:

  • 您有许多会话,需要根据某种谓词搜索或过滤它们
  • 您有多个会话,并且会话与数据存储中的特定对象有某种关系。

使用 Core Data 和单独的文件并不是“逻辑不一致”。做有意义的事。将此信息保存在您的数据存储中可能没有意义,因此除非您有令人信服的理由,否则不要这样做。

如果信息可能被认为是敏感信息,请将其放入钥匙串中。

此外,在 Core Data 中创建通用容器实体非常难看。使用fieldvalue您描述的字段不是一个好的设计决策。

于 2013-01-10T23:36:54.377 回答
0

只要不是敏感信息,我就会保持一致并使用 Core Data。一个更晦涩的地方是把它放在 NSUserDefaults 中。

于 2013-01-10T19:55:24.720 回答