【问题标题】:iOS - How long does NSManagedObject stay allocated without savingiOS - NSManagedObject 在不保存的情况下保持分配多长时间
【发布时间】:2016-01-05 17:56:31
【问题描述】:

这是我的应用程序中的场景:我从存储在 Coredata 中的 JSON 文件下载数据,但没有保存它。如果用户想保留数据,他点击一个按钮,然后我保存上下文。 我的问题是:如果用户不点击按钮并且我不保存数据,那么上下文会保持原样多长时间?直到用户关闭应用程序?甚至去后台?

我正在寻找管理它的最佳方法。

【问题讨论】:

  • 取决于...用户可以在决定保存之前对任何内容进行任何其他更改吗?
  • 不,用户根本无法更改数据。

标签: ios json core-data nsmanagedobject


【解决方案1】:

假设您不做任何更改,并且应用程序没有收到内存警告,不会崩溃并且不会进入后台 - 无限期。如果应用程序进入后台,如果操作系统需要它,它可能随时被杀死,所以你可以不依赖任何东西。

真的,您应该尽快保存上下文。如果需要,请保存到磁盘上的其他存储文件,然后如果用户丢弃,您可以删除该文件,如果他们保存,您可以移动它以替换原始文件(或者只是更新一个配置,说明当前有效文件的位置位于磁盘上)。

【讨论】:

  • 其实重点是,如果用户真的想下载数据,我只想保存它。否则,我想使用 CoreData 作为临时存放地点。我知道这不是最好的方法,但它是为了避免必须为想要下载数据的人和不想下载数据的人实施两种完全不同的方法。我说清楚了吗……?我该怎么做?
  • 然后保存到缓存目录而不是主目录?
  • 啊啊啊这是一个很好的解决方案。你是怎样做的?非常感谢
  • 使用 NSCachesDirectory 查找它,就像您查找文档目录一样
  • 谢谢!最后一个问题:缓存目录,只有在内存不足的情况下才会被删除。每当应用关闭或类似情况时,都无法删除?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 2022-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多