相关疑难解决方法(0)

删除*unsaved*Core Data对象时如何处理外部数据的清理?

在托管对象中,我已经存储了应用程序容器中图像文件的路径.
删除托管对象后,应将图像文件移至废纸篓.这应该尽可能晚地完成,以便我可以尽可能长时间地提供撤消功能.

我正在按照这个问题的答案:如何在删除Core Data对象时处理外部数据的清理,并在我的托管对象子类中重写-didSave以废弃文件.

事实证明,这仅适用于:

  • 已添加托管对象,
  • 托管对象上下文已保存,
  • 托管对象已被删除,
  • 托管对象上下文已保存.

但是,在以下情况中,未在托管对象中调用-isSaved:

  • 已添加托管对象,
  • 托管对象已被删除,
  • 托管对象上下文已保存.

我理解为什么会这样.由于删除的对象从未在第一个地方持久存在,因此在删除后不会保存它,也不会调用-didSave.

现在我正在寻找另一个将引用文件移动到垃圾箱的地方.那可能在哪里?

cocoa core-data nsmanagedobject nsmanagedobjectcontext

7
推荐指数
1
解决办法
1142
查看次数

删除将文件和实际文件存储为路径的核心数据项的最佳做法是保存在磁盘上?

我有一张专辑照片核心数据模型.照片实体有一列用于保存在磁盘上的实际照片文件的路径.删除照片和相册的最佳做法是什么?在核心日期删除项目之前,是否必须手动删除磁盘上的文件?照片对象很容易.但是对于一张专辑,这些照片可能已被级联删除规则删除,现在需要逐个循环处理这些文件.

对我来说,最好的做法是什么?

(我决定不使用"允许外部存储"来解决其他问题)

core-data objective-c ios

6
推荐指数
1
解决办法
563
查看次数