美文网首页
FMDB保存图片--取出的data为OS_dispatch_da

FMDB保存图片--取出的data为OS_dispatch_da

作者: 远方有田 | 来源:发表于2018-04-25 16:52 被阅读0次

    原因:SQL语句有问题

            准备用FMDB来进行图片缓存,发现图片可以正常存入数据库,但是取出的数据库的data却是OS_dispatch_data,转为image的时候为nil。

    以为是OS_dispatch_data(和NSData可以无缝桥接)有问题,然后先转为string,然后在转为NSData,然后转为image还是nil。

    搜索了几个实现FMDB保存图片都没有问题。然后进行对照,然后发现是SQL语句有问题。

    我这边插入和更新语句都使用到了 '%@' 来插入和更新数据

    [NSString stringWithFormat:@"insert into t_saveimage (name, imagedata) values('%@', '%@')", model.name, model.imageData];

    当我更换为下面这个语句的时候就可以正常显示图片了。更新语句也同理。

    BOOL insertResult = [db executeUpdate:@"insert into t_saveimage (name, imagedata) values(?, ?)", model.name, model.imageData];

    具体实现就不放了,基本上都差不多,我是参考这篇文章发现问题的。 

    相关文章

      网友评论

          本文标题:FMDB保存图片--取出的data为OS_dispatch_da

          本文链接:https://www.haomeiwen.com/subject/iceylftx.html