参考博客
- SQL数据类型
- UIImage转NSData和NSData转UIImage
实现方法
- 在利用FMDB写知乎日报的缓存功能时,首页需要将每条新闻的标题和图片缓存下来,以便没网时也能加载出数据不至于崩。标题缓存很简单,直接存入建好的数据库的表中就好。
- 至于图片,可以直接调用SDWebImage的
[self.mainView.tableViewCell.rightImageView sd_setImageWithURL:[NSURL URLWithString:url placeholderImage:[UIImage imageNamed:@"placeholder.jpg"]];
方法加载图片,因为SDWebImage会让用户浏览过的图片会默认缓存在cache与磁盘上,缓存默认保存一星期时间。但是这样会十分占用磁盘内存,所以我就想不借用SDWebImage的方法实现图片的缓存,方法如下。 - 因为SQL类型里没有直接对于图片的存储类型,所以我们先要将请求到的图片转为NSData类型
NSData *imageData = UIImagePNGRepresentation(aimae);
,然后存入数据库表中相应位置(NSData对应SQL中BLOB数据类型)。最后在需要调用图片处再从数据库中读取数据转换为UIImage类型即可,然后存入数据库表中相应位置(NSData对应SQL中BLOB数据类型)。最后在需要调用图片处再从数据库中读取数据转换为UIImage类型即可
NSData *imageData = [NSData dataWithContentsOfFile: imagePath];
UIImage *image = [UIImage imageWithData: imageData];