在iOS中,我们应该将图像另存为二进制数据还是使用库



我正在编写一个应用程序来使用提供JSON响应的REST Api。我正在使用CoreData来存储JSON的对象以支持离线功能。对象具有一些图像属性(这是来自 JSON 响应的图像 URL(。

我的问题是我应该将图像属性存储为Data(使用二进制数据(以CoreData(可以检查使用CoreDataXCModel的外部存储(还是应该只需要存储图像路径(作为字符串(并使用一些库,例如KingfisherAlamofireImageSDWebImage从存储在 Coredata 中的图像 url 加载图像? 哪一个是更好的设计?

还有一件事是关于我们如何处理大图像?我们可以生成 1 个特定大小的缩略图和 1 个完整图像大小的缩略图吗?

我建议您将URL存储在数据库中,并使用SDWebImage等框架进行加载。这些框架具有缓存机制,因此一旦加载了图像,它就会被缓存。

您也可以在 JSON 响应中获取缩略图作为链接。

保存 urlString,我认为,在大多数情况下 urlStrting 是一个更好的解决方案,因为在 3 g/4 g 手机 App 拥有大量图像数据的时代,本地存储它们是一件非常困难的事情,除非你有 1024 TB 的 iPhone。

并且你应该提供一个界面,比如长按推送视图(或任何内容(来告诉用户他们可以将图像保存到本地。

不要忘记首先加载本地映像并提供一个接口,告诉用户可以删除本地数据。

最新更新