如何创建领域数据库?我为swift(>=3.0)安装了Realm by CocoaPods。我试图创建一个简单的数据库,将保持最多20个对象。我已经创建了一个类数据库():

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
}

我想在数据库中添加一个对象:
 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”对象时有一个sigabret错误,并且不确定我是否正确地执行了该操作。即使我退出应用程序,数据库也会节省吗?

最佳答案

最有可能

dynamic var capture: [UIImage] = []

是一个问题:Realm不支持直接存储UIImage
这里有两个选项:要么存储图像的NSData表示,要么将图像存储在磁盘上,但将它们的路径保存在数据库中。
进一步了解Docs中支持的数据类型。

08-05 16:13