我有一个 Session 类,我想保存和存储应用程序的当前 session 信息(如 lastLocation、remoteSessionToken 等)
我有一堆表的默认核心数据设置,我看到的最明显的解决方案是再创建一个表“ session ”,其中包含两个字符串字段:“字段”和“值”,并将 session 信息存储到该表中就像我将任何信息存储到其他表一样
'field' 'value'
lastLocation 46.68,34.18
removeSessionToken au987asdv7tta487tv9b
...
此外,我知道我可以使用 YAML 或 JSON 格式的特殊单独文件来设置 fx 来完成此操作,但这会导致同时拥有 Core Data 数据库和文件的逻辑不一致。
是否有任何推荐的方法来保存和持久化 session 信息?
最佳答案
除非适用以下内容,否则将其放在用户默认值或文档目录中的特殊用途文件中:
- 您有很多 session ,需要根据某种谓词搜索或过滤它们
- 您有多个 session ,并且 session 与数据存储中的特定对象有某种关系。
使用 Core Data 和单独的文件并不是“逻辑不一致”。做有意义的事。将此信息保存在您的数据存储中可能没有意义,因此除非您有一些令人信服的理由,否则不要这样做。
如果信息可能被认为是敏感信息,请将其放入钥匙串(keychain)中。
此外,在 Core Data 中创建通用容器实体非常难看。像您描述的那样使用 field
和 value
字段不是一个好的设计决策。
关于ios - 存储 session 信息 - 另一个核心数据表或 "key-value"格式(YAML,JSON)的单独 session 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14265502/