0
私はレルムオブジェクトに画像、オーディオ、ビデオの形式でデータを保存する必要があるエディタアプリケーションの要件があります。私はデータを書くことができますが、オブジェクトの配列の形で読み込む方法はあります。RealmデータベースのUIimage形式でデータを書き込んで読み込む方法
私はレルムオブジェクトに画像、オーディオ、ビデオの形式でデータを保存する必要があるエディタアプリケーションの要件があります。私はデータを書くことができますが、オブジェクトの配列の形で読み込む方法はあります。RealmデータベースのUIimage形式でデータを書き込んで読み込む方法
レルムの一般的なベストプラクティスは、大規模なバイナリブロブをレルムに保存しないようにすることです。特にRealmファイルの横にあるハードドライブに簡単に保存できる場合は特にそうです。ファイルを表すためにレルムObject
が必要な場合は、レルム内のファイルへのファイルパスを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)