在用户注销时保留 CoreData 对象的最佳方法(NSUserDefaults?)

Posted

技术标签:

【中文标题】在用户注销时保留 CoreData 对象的最佳方法(NSUserDefaults?)【英文标题】:Best way to persist CoreData objects on user logout (NSUserDefaults?) 【发布时间】:2012-08-17 12:43:00 【问题描述】:

我为应用开发了一项功能,可将其信息存储在 CoreData 对象中。当我关闭应用程序时,这些数据会保留,但在用户注销并重新登录时不会保留。我需要保留数据。一些注意事项:

1) 应用程序的其他一些数据被上传到服务器。这不是一个选项。

2) 我终其一生都找不到应用程序的任何其他本地数据在用户注销时是如何保留的。

3) 我的老板建议使用 NSUserDefaults - 在其中保存 CoreData 对象的最佳方法是什么?

提前感谢您的回答!

【问题讨论】:

CoreData 是一个持久性框架。您可以免费获得持久性。 向Core Data添加数据后是否保存ManagedObjectContext 【参考方案1】:

CoreData 没有用户在您的应用程序中登录我们的概念。您的 CoreData 数据库不持久的唯一合乎逻辑的解释是,当用户注销事件发生时,您的应用程序正在删除数据(或数据库)。

【讨论】:

感谢您的回复。它可能会擦除整个托管对象上下文 - 我不能弄乱应用程序的其余代码,所以知道如何解决这个问题吗?

以上是关于在用户注销时保留 CoreData 对象的最佳方法(NSUserDefaults?)的主要内容,如果未能解决你的问题,请参考以下文章

将 CoreData 更改推送到 Web 服务的最佳实践?

优化批量删除和创建 NSManagedObjects

点击按钮时停止在后台保存到 coredata

当浏览器关闭时,是不是有可靠的方法来注销用户?

如何防止用户“返回”但在 JSP 中注销后保留缓存?

如何在 cookie 上保留 ASP.NET 身份声明直到注销?