[iOS开发]FMDB存储图片类型的数据

Posted Billy Miracle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[iOS开发]FMDB存储图片类型的数据相关的知识,希望对你有一定的参考价值。

写在前面:

在完成知乎日报的离线加载的功能时遇到了一系列问题:

  1. 在利用FMDB写知乎日报的缓存功能时,首页需要将每条新闻的标题和图片缓存下来,这样没网时也能加载出数据。文字的缓存很简单,直接存入建好的数据库的表中就好。
  2. 至于图片,似乎可以直接调用SDWebImage的sd_setImageWithURL: placeholderImage:方法加载图片,因为SDWebImage可以让用户浏览过的图片会默认缓存在cache与磁盘上,但我没搞明白这是怎么实现的。
  3. 所以我继续使用FMDB存图片。

实现:

NSData转换为UIImage:

NSData *imageData = [NSData dataWithContentsOfFile: imagePath];
UIImage *image = [UIImage imageWithData: imageData];

UIImage转换为NSData:

NSData *imageData = UIImagePNGRepresentation(image);

FMDB储存data:

NSData对应SQL中BLOB数据类型。使用BLOB类型储存data,再在使用的时候进行转化即可。

实现效果:

以上是关于[iOS开发]FMDB存储图片类型的数据的主要内容,如果未能解决你的问题,请参考以下文章

[iOS开发]知乎日报第四周总结

iOS 开发之 FMDB 源码分析

用 FMDB 快速保存 NSI​​mage

iOS开发数据库篇—FMDB数据库队列

iOS开发数据库篇—FMDB简单介绍

iOS开发--SQLite重要框架FMDB的使用