gpt4 book ai didi

swift - 如何在 Realm 数据库中快速写入和读取 UImage 形式的数据

转载 作者:行者123 更新时间:2023-11-28 15:43:20 25 4
gpt4 key购买 nike

我有一个编辑器应用程序的要求,我想在 realm 对象中以图像、音频和视频的形式存储数据,因为我是 realm 和 swift 的新手。我可以在其中写入数据,但如何读取对象数组的形式。

最佳答案

Realm 的一般最佳实践是尽量避免将大型二进制 blob 保存到 Realm;特别是如果它们可以简单地保存在 Realm 文件旁边的硬盘驱动器上。如果您需要一个 Realm Object 来表示该文件,您可以将该文件的文件路径作为 String 属性存储在 Realm 中。

如果您仍然有特定需要将 UIImage 写入 Realm 对象,则有必要先将其转换为 NSData 以便将其保存到磁盘。这通常意味着将其转换为 JPEG 或 PNG。

// Write a UIImage as a PNG to Realm
let myImage: UIImage = ...
let myImageData = UIImagePNGRepresentation(myImage) as NSData?

if let myImageData = myImageData {
// A Realm `Object` with an `NSData`
let myObject = MyObject() property

myObject.imageData = myImageData

let realm = try! Realm()
try! realm.write {
realm.add(myObject)
}
}

// Get a UIImage from Realm
let realm = try! Realm()
let myObject = realm.objects(MyObject.self).first!
let myImage = UIImage(data: myObject.imageData)

关于swift - 如何在 Realm 数据库中快速写入和读取 UImage 形式的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43435691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com