Ios 将图像添加到核心数据需要很长时间

Ios 将图像添加到核心数据需要很长时间,ios,core-data,Ios,Core Data,如何使向核心数据添加图像的方式更有效 在核心数据持久性中保存“数据”或图像是一个非常糟糕的主意。此外,我认为您正在后台队列中运行此代码,如果不是,那么这也是一件坏事。但是,再次强调,将图像或数据保存到核心数据持久存储中是一个非常糟糕的主意,应该尽可能避免 作为替代,您可以这样做- 使用路径和唯一的 文件名 将文件名保存在核心数据中,路径除外 下次检索图像时,请从数据存储中获取文件名 将文件名与整个路径一起追加到文件夹中。检索图像 这是一种更高效、更好的图像存储方式。从“占位符”图像开始。使用后台

如何使向核心数据添加图像的方式更有效

在核心数据持久性中保存“数据”或图像是一个非常糟糕的主意。此外,我认为您正在后台队列中运行此代码,如果不是,那么这也是一件坏事。但是,再次强调,将图像或数据保存到核心数据持久存储中是一个非常糟糕的主意,应该尽可能避免

作为替代,您可以这样做-

  • 使用路径和唯一的 文件名
  • 将文件名保存在核心数据中,路径除外
  • 下次检索图像时,请从数据存储中获取文件名
  • 将文件名与整个路径一起追加到文件夹中。检索图像

  • 这是一种更高效、更好的图像存储方式。

    从“占位符”图像开始。使用后台线程下载过程。每次图像下载完成后,更新UI并保存图像数据。另外,不要将二进制数据存储在核心数据中。将映像存储在磁盘上,并将路径存储在核心数据中。这是否会降低速度?不要。您将被禁止。此行:
    NSData*imageData=[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:str]选项:0错误:&error]是“放慢速度”的原因。每次该行在循环中执行时,它都会坐在那里等待下载文件数据。根据图像大小和连接速度等,每个图像可能需要几秒钟(甚至几分钟)。首先搜索
    ios sdk async download
    我目前将图像存储为二进制数据,就像在实际的mysql数据库中一样,这是不是让它变慢了?这可能是而且是一种非常糟糕的做法,它会使应用程序变慢,可能以后随着应用程序处理越来越多的图像,问题将开始复杂化。改变架构是我能给你的最好的解决方案。这是我的答案,你删除了,而不是接受。那一点也不体贴。