NSTextAttachment以某种方式缓存图像。有关如何的任何想法?

时间:2018-01-14 00:06:16

标签: ios swift nsattributedstring image-caching nstextattachment

从包含图像链接(https)的HTML字符串创建NSAttributedString时,以某种方式缓存下载的图像。我怎么想出这个事实?

  1. 安装应用
  2. 打开应用。图像在那里。
  3. 关闭应用程序(终止)。转到飞行模式。
  4. 打开应用。图像仍在那里。
  5. 完全删除应用,然后重新安装。
  6. 在飞行模式下打开应用程序。没有图片。
  7. 缓存图像实际上就是我想要的。但我想更深入地了解图像缓存的方式和位置。由于我的应用程序应该脱机工作,我必须确保图像是否缓存。我深入研究文档,无法找到任何东西。有人可以开导我吗?谢谢。

    编辑澄清:

    我没有直接使用NSTextAttachment。我使用UTF8编码数据从String初始化NSAttributedString。为什么我在谈论NSTextAttachment,我猜它会自动为" img"创建一个NSTextAttachment。 HTML字符串中的标签。

2 个答案:

答案 0 :(得分:0)

由于文档未声明图像将被缓存,因此最好假设有缓存。因此,最适合您情况的解决方案是使用URLSession下载文件并将文件存储在磁盘上,这样当设备离线时,可以显示图像。

答案 1 :(得分:0)

一些深入研究模拟器的数据证明我的图像真的被缓存了。

/Users/<username>/Library/Developer/CoreSimulator/Devices/<simulator-id>/data/Containers/Data/Application/<app-id>/Library/Caches/<app-bunle-identifier>/Cache.db文件是一个包含缓存信息的SQLite文件。还有我的形象,链接及其数据。

奇怪的是Apple没有记录这一点,我仍然不知道它是如何/什么时候缓存的。