Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 领域数据在一段时间后丢失_Swift_Realm - Fatal编程技术网

Swift 领域数据在一段时间后丢失

Swift 领域数据在一段时间后丢失,swift,realm,Swift,Realm,我正在使用领域与Swift,我有一个问题,一段时间后,我的数据丢失。 例如,我有一个用户实体,它直接从realmstore加载到singleton类中,然后显示在视图等上 所以我假设,每次我需要从领域存储中加载用户是一种不好的做法,对吗 我应该创建一个与领域对象实际上相同的业务逻辑用户类并加载用户一次吗?只有当我更改了业务逻辑用户,我才能再次将其存储到域中 这是否可能导致领域存储在任何时候被损坏,以致无法再访问该对象 致以最诚挚的问候定义您所说的数据丢失是什么意思,对领域所做的任何更改都会反映在

我正在使用领域与Swift,我有一个问题,一段时间后,我的数据丢失。 例如,我有一个用户实体,它直接从realmstore加载到singleton类中,然后显示在视图等上

所以我假设,每次我需要从领域存储中加载用户是一种不好的做法,对吗

我应该创建一个与领域对象实际上相同的业务逻辑用户类并加载用户一次吗?只有当我更改了业务逻辑用户,我才能再次将其存储到域中

这是否可能导致领域存储在任何时候被损坏,以致无法再访问该对象


致以最诚挚的问候

定义您所说的
数据丢失是什么意思
,对领域所做的任何更改都会反映在现有的托管对象中。您是否正在尝试保存和检索用户数据和设置,例如名称、应用程序首选项等?在appstart中,我尝试从领域存储接收用户。我获取所有用户实体并返回第一个(我只存储了一个),但过了一段时间,我不知道在此期间发生了什么,获取不再返回任何用户,但我在任何时候都不会删除该用户。用户没有删除方法。我唯一要做的就是用字典更新方式更新属性。在检索用户数据和设置时,您是指存储的不同领域对象吗?是的,我有不同的对象类型。除了可以删除的用户之外,所有这些都可能是问题,我创建了一个单例类RealmManager,它处理我的所有领域事务。在上面的一个级别,我有不同的存储库,它们在RealmManager中存储和加载派生的领域对象。因此,我在整个应用程序中只调用了Realm()调用一次,我发现它可能会失败,或者有时确实会失败。Swift中的单例应该是线程安全的,但可能会有问题吗?我从不同的线程访问此RealmManager单例,而使用swifts单例机制static let shared=RealmManager(),它不是线程安全的?您能编辑您的问题以包含用于检索和存储数据的代码吗?这将非常有助于我们了解您是否错误地使用了Realm,或者Realm是否存在问题。