2017-04-16 11 views

答えて

0

レルムの一般的なベストプラクティスは、大規模なバイナリブロブをレルムに保存しないようにすることです。特に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) 
関連する問題