我需要一个编辑器应用程序,我想以图像,音频和视频的形式在realm对象中存储数据,因为我是realm和swift.where的新手我能够写入数据但是如何读取对象数组的形式。
答案 0 :(得分:1)
Realm的一般最佳实践是尽量避免将大型二进制blob保存到Realm;特别是如果它们可以简单地保存在Realm文件旁边的硬盘上。如果您需要领域Object
来表示文件,则可以将文件路径存储在Realm中作为String
属性的文件。
如果您仍然需要将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)