为什么未保存的修改后的 NSManagedObject 在关闭/打开应用程序后在 isUpdated 上返回 FALSE?

发布于 2024-11-30 06:46:44 字数 476 浏览 0 评论 0原文

为什么未保存但已修改的 NSManagedObject 有一个空的 -changedValues 并在关闭/打开应用程序(在后台运行)后在 - isUpdated 上返回 FALSE?

我不想在 applicationDidEnterBackground 上保存修改后的 NSManagedObject,但我想知道它是否在 applicationWillEnterForeground 之后更新。

在我的实现中,我得到一个 empty [objectchangedValues]FALSE [object isUpdated]

这正常吗?我该怎么做才能不保存修改的对象、退出应用程序、返回并获取 isUpdated TRUE

Why an unsaved but modified NSManagedObject has an empty -changedValues and returns FALSE on - isUpdated after closing/opening the app (running in background)?

I don't want to save a modified NSManagedObject on applicationDidEnterBackground, but I want to know whether it was updated after applicationWillEnterForeground.

In my implementation I get an empty [object changedValues] and FALSE [object isUpdated]

Is this normal? What could I do to not save an modified object, quit app, return and get the isUpdated TRUE?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

街角卖回忆 2024-12-07 06:46:45

applicationDidEnterBackground 中,只需检查 isUpdated 并将结果设置为一个变量。在 applicationWillEnterForeground 中检查您的变量。

但是,我认为这不是一个好的做法。为什么您不想节省进入后台的时间?要么您想保留更改,然后保存它;或者你不这样做,然后把它扔掉。

请记住,一旦应用程序进入后台,就不能保证它会回来。因此,规则是您应该保留所需的所有内容,以便在应用程序再次激活时重新创建它。

In applicationDidEnterBackground simply check isUpdated and set a variable to the result. In applicationWillEnterForeground check your variable.

However, I do not think that is good practice. Why would you not want to save on entering background? Either you want to persist the change, then save it; or you don't, then throw it out.

Remember, once the app is in the background, there is no guarantee it will ever come back. So the rule is that you should persist everything you need in order to recreate it when the app becomes active again.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文