Ios 核心数据中的实体与其他实体没有关系,可以吗?

Ios 核心数据中的实体与其他实体没有关系,可以吗?,ios,objective-c,core-data,nsuserdefaults,Ios,Objective C,Core Data,Nsuserdefaults,可以将存储在NSUserDefault中的任何信息移动到CoreData吗? 通常我们在NSUserDefault中存储一些用户设置类型的数据或用户信息 如果我们将其作为键值对存储在单个实体中,它是否会影响性能 或者这本身就是一种不好的做法 我觉得把与应用程序相关的所有数据都放在核心数据中,并在NSUserDefaults中记录用户信息,这很奇怪。如果它记录了用户信息,那么它可能应该在钥匙链中 您可以拥有一个没有关系的实体,没有什么可以阻止它,但是访问这些详细信息现在需要打开模型存储文件。如果你

可以将存储在NSUserDefault中的任何信息移动到CoreData吗? 通常我们在NSUserDefault中存储一些用户设置类型的数据或用户信息

如果我们将其作为键值对存储在单个实体中,它是否会影响性能

或者这本身就是一种不好的做法


我觉得把与应用程序相关的所有数据都放在核心数据中,并在NSUserDefaults中记录用户信息,这很奇怪。

如果它记录了用户信息,那么它可能应该在钥匙链中

您可以拥有一个没有关系的实体,没有什么可以阻止它,但是访问这些详细信息现在需要打开模型存储文件。如果你只在商店开门的时候才需要它们,那就没什么问题了。提取实体实例的过程仍然是一个获取请求,因此比NSUserDefaults选项包含更多的代码

没有硬性规定,数据存储的每个区域在不同的时间对访问都更有用,您应该期望在应用程序中使用它们。您还应该考虑数据应该保留多长时间以及需要多少副本(现在和将来可能)。
通常,对于用户帐户详细信息,我会将其保存在核心数据模型之外。

因此,当出现一个场景时,您会将其他用户的用户详细信息(例如社交网络应用程序中的一些朋友)缓存在核心数据中,作为他们的用户配置文件详细信息,这样我们就不会不时加载他们。在这种情况下,我觉得登录用户的配置文件详细信息可以建模为与缓存的其他用户的配置文件详细信息相同的实体,并找到将其与其他用户区分开来的方法。在这种情况下我们如何工作?在这种情况下,您可以拥有一个用户实体,并将所有用户详细信息存储在存储文件中,然后标记当前用户或将当前用户id保存在NSUserDefaults中,以便使用它获取主用户。如果用户都只是朋友,你就不需要他们之间的关系。数据存储中不应该有任何密码/身份验证令牌。非常感谢。这真的很有帮助。我根本不存储密码。在会话到期的情况下,我要么再次显示登录屏幕,要么在可能的情况下使用刷新令牌刷新令牌。这些代币应该只在钥匙链中吗?或者UserDefaults可以吗?令牌实际上应该只保存在内存中或存储在密钥链中。不在用户默认设置中。