【问题标题】:How can i show Images from Sqlite to a uicollectionview如何将 Sqlite 中的图像显示到 uicollectionview
【发布时间】:2019-09-08 10:17:12
【问题描述】:

我在 sqlite 数据库中有一些图像。我将图像保存为 BLOB 类型(我在 img.pngdata 中转换为 NSData 并将其保存到 db)。现在我想检索图像并在 uicollectionview 视图中显示它们。当我检索图像时,它就像this 1。我应该使用哪种类型的数组在集合视图中显示它们? db中的表是like this2。

另外,如何从检索到的图像中获取图像名称作为字符串?

【问题讨论】:

  • 我认为你需要将图像以BASE64字符串的形式保存在SQLite中。当您需要检索图像时,只需对其进行解码...
  • 你能告诉我是否保存 base64steing 的 sqlite 绑定语句
  • 这将与您对基于简单字符串的文本所做的相同...
  • 第二个选项是将图像保存在数据库中是...将图像以唯一名称存储在 App Doc Directory 中...然后将此唯一名称存储在您的 SQLite DB 中...当您将检索任何图像,只需从数据库中获取图像名称,然后从您的文档目录中找到带有图像名称的图像......我认为它是最好和简单的解决方案。谢谢

标签: swift xcode sqlite uicollectionview uiimage


【解决方案1】:

我通过这样检索 blob 数据解决了这个问题:

let lenght:Int = Int(sqlite3_column_bytes(queryStatement, 0));
let imgdata : NSData = NSData(bytes: sqlite3_column_blob(queryStatement, 0), length: lenght)
let decoded_img : UIImage = UIImage(data: imgdata as Data)!
imageNames.append(decoded_img)

我声明了一个UIImage 类型的数组,然后在uicollectionview 视图中使用它,它现在对我来说工作正常。

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多