我正在使用的是iPad(仅限)我的客户公司的某种目录应用程序。他们有1000多种产品。每个产品可以有多个图像。可以从Web服务设置每个产品是否在应用程序上显示。因此,例如,过期产品的数据和图像将不会存在于应用内。当我的客户决定与Web服务同步数据时。将刷新所有数据,将下载所有图像。任何过时的数据或未使用的数据都必须删除。
问题是,即使没有互联网连接,他也希望这款应用能够脱机工作。
存储所有产品的数据很好,因为我从Web服务中提取JSON格式的所有数据并将它们解析为NSMutableDictionary对象。即使它们将包含1000多种产品的数据,也应该没问题(我猜)。
但是对于图像,我不知道如何将它们保存在设备存储器中,以及引用它们的最佳方式。每张图片的大小应为10Kb或更小。
我目前的方法(我能想到的)是
这是我以前客户项目的方法。但该项目的应用程序包含不到100个图像。并且,我觉得我做错了。
所以,如果您有任何好的建议,请告诉我。欢迎提出任何建议。
注意:我读了一些关于将图像存储到CoreData的封闭主题。但是,我现在不想尝试,因为我之前没有任何经验,而且这个当前的项目时间紧迫。所以,如果不是真的需要,我很乐意稍后再试。
最后
我决定像渐变者那样说,迁移我的应用程序以使用CoreData。但是,我可能会先尝试使用writeToFile来存储所有产品的信息,看看它是怎么回事。正如格拉弗所说,尝试新事物也不错。最终,我们会得到一些东西。
答案 0 :(得分:5)
您唯一的变化是使用CoreData。保留数据库中产品详细信息和图像的本地路径,但存储中的实际图片文件,即。应用程序的Documents目录中的目录。 CoreData为您提供永远无法实现归档所有数据的性能。如果您没有使用CoreData的经验,我认为您可以节省阅读文档和实现它的时间,而不是考虑使用归档的复杂解决方案,保持文件跟踪等等。您将获得CoreData的经验,可以用于下一个项目:)二合一