使用Realm Swift 3.0.1创建数据库

时间:2016-11-30 13:46:31

标签: swift database xcode object realm

如何创建Realm DB?我已经为CiftPods安装了Realm for swift(> = 3.0)。我试图创建一个将保留最多20个对象的简单数据库。我创建了一个类DataBase():

import RealmSwift

class DataBase: Object{    
    dynamic var code: String = ""
    dynamic var desc: String = ""
    dynamic var capture: [UIImage] = []
    dynamic var lon: Double = 0.0
    dynamic var lat: Double = 0.0
    dynamic var type: Int = 0    
}

我想向DB添加一个对象:

 let offlineInfo = DataBase()

 let realm = try! Realm()

 offlineInfo.code = "testCode"
 offlineInfo.desc = "testDescription"
 offlineInfo.capture = self.capture
 offlineInfo.lat = self.lat
 offlineInfo.lon = self.lon
 offlineInfo.type = 2

 try! realm.write {
            realm.add(offlineInfo)
        }

但是我在创建" offlineInfo"时遇到了SIGABRT错误。反对并且不确定我是否正确地做到了。即使我退出应用程序,数据库也会保存吗?

1 个答案:

答案 0 :(得分:0)

最有可能

dynamic var capture: [UIImage] = []

是一个问题:Realm不支持直接存储UIImage

这里有两个选项:存储NSData图像表示或将图像存储在磁盘上,但在数据库中保留它们的路径。

详细了解Docs中支持的数据类型。