如何存储在线图像和数据以供离线使用

时间:2016-03-29 06:27:46

标签: ios objective-c iphone web-services

我必须构建一个检查网络连接的iPhone应用程序,每当它与网络服务进行在线同步时,它会下载X图像并将其保存到设备中。

然后,在离线模式下,我必须在collectionview中加载图像,因为我必须在某处存储图像。同样适用于数据

我正在使用带有json响应的.net webservice。

我在考虑核心数据存储,这可能吗?也许将图像存储在核心数据库中会降低应用程序的速度?

3 个答案:

答案 0 :(得分:5)

您必须在应用程序目录中下载并保存每个接收到的图像,然后在CoreData中保存这些图像的路径。

which

并使用如下。

vector

可能会帮助你。

答案 1 :(得分:0)

是的,这是可能的,但不值得。

通常,我们会按照以下步骤缓存图片:

  1. 检查我们是否在特定网址上加载了图片,如果是,请转到step 2,否则转到step 3
  2. 从文件加载图片。
  3. 下载图片,并将其保存到文件中。您应该为图片文件指定与其网址相关联的名称,以便下次可以通过网址找到
  4. 有一个工具可以做得很好,您可以尝试使用SDWebImage

答案 2 :(得分:0)

是的,您可以以二进制数据的形式将图像存储在核心数据中,以下是如何执行此操作的示例link! 就速度而言,核心数据不会降低您的应用程序性能,但它通常需要比sqlite更多的空间,这里a link!这显示了核心数据和sqlite性能之间的比较。