Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用新的外部存储标志在核心数据中存储UIImage_Iphone_Image_Core Data_Ios5 - Fatal编程技术网

Iphone 使用新的外部存储标志在核心数据中存储UIImage

Iphone 使用新的外部存储标志在核心数据中存储UIImage,iphone,image,core-data,ios5,Iphone,Image,Core Data,Ios5,我知道UIImage在核心数据中的存储已经讨论了很多,例如,但那是在ios5之前。既然我们有了外部存储标志,你们认为将UIImage直接存储在实体中是一个好主意,作为一个单独的实体,还是仍然存储在磁盘上 是解释外部存储选项的来源。 启用后,如果 它应该将数据直接保存在数据库中,或者将URI存储到 它为您管理的单独文件。您不能基于 如果使用此选项,则为二进制数据属性的内容 从你的链接来看,启发似乎是 小于1MB的对象存储在数据库中。对于 对象较大时,将创建一个外部文件并创建数据库 只存储对它的引用

我知道UIImage在核心数据中的存储已经讨论了很多,例如,但那是在ios5之前。既然我们有了外部存储标志,你们认为将UIImage直接存储在实体中是一个好主意,作为一个单独的实体,还是仍然存储在磁盘上

是解释外部存储选项的来源。

启用后,如果 它应该将数据直接保存在数据库中,或者将URI存储到 它为您管理的单独文件。您不能基于 如果使用此选项,则为二进制数据属性的内容

从你的链接来看,启发似乎是

小于1MB的对象存储在数据库中。对于 对象较大时,将创建一个外部文件并创建数据库 只存储对它的引用

因此,以下建议仍然有效:

  • <100kb存储在与相关数据相同的表中
  • <1mb存储在通过关系附加的单独表中,以避免不必要的加载
  • 1mb存储在磁盘上,并在核心数据中引用


该标志将核心数据设置为遵循该建议,并自动将大于1MB的图像存储为一个单独的磁盘文件。

因此,在这种情况下,我们可能应该将其放在一个单独的实体中,以防其在100kb-1MB范围内,因为外部存储不考虑这种情况?警告:外部图像存储存在一个缺陷,当删除,有时:外部存储和迁移存在另一个bug。如果尝试创建新模型,然后使用轻量级迁移,则会丢失存储在外部文件中的所有“二进制数据”。@zirinisp任何解决方法??我有一个应用程序的问题,我有它在appstore和用户存储像这样的图像生活,我需要迁移。我可以使用手动迁移吗?我们可以访问用于将图像上载到其他服务的url吗?