CoreData - 管理子上下文中的文件引用

时间:2017-11-24 03:39:24

标签: ios swift core-data magicalrecord

我的CoreData模型有一个具有Image属性的实体。 我总是管理这些实体的图像,方法是将它们存储在文件系统中,只保留CoreData属性中的文件引用,即路径。

但是我最近转向使用子托管上下文来处理编辑(这样如果用户应该选择取消编辑,我就可以轻松地丢弃更改)。 这一切都很好,但我现在有一个跟踪任何图像更改的问题,特别是如果用户更改图像我不能再删除旧文件(不希望在文件系统上构建孤立文件)并替换它与新的,因为如果用户取消更改,旧文件现在丢失。

我认为有两种选择:

  1. 我跟踪业务层中的图像更改,只保存上下文后删除所有旧图像,或者如果丢弃/取消上下文,则反过来删除任何新图像。
  2. 我将我的图像属性更改为二进制数据类型(检查'允许外部存储')并让CoreData管理数据......在这种情况下,一切都应该正常工作。
  3. 寻找关于哪种更好,更重要的是更高效的方法的任何指导? 或任何其他替代解决方案/选项...

    谢谢!

0 个答案:

没有答案
相关问题