【发布时间】:2017-01-11 10:22:56
【问题描述】:
我正在尝试向领域数据库表中添加一条记录。
我有一个连接类,它代表我在数据库中需要的一个表,并创建了动态变量来代表列:
import Foundation
import RealmSwift
import Realm
open class ConnectionState: Object {
open dynamic var _id : String = NSUUID().uuidString
open dynamic var a : String = ""
open dynamic var b : String = ""
open dynamic var c : Int = 0
open override class func primaryKey() -> String? {
return "_id"
}
required public init() {
super.init()
}
required public init(realm: RLMRealm, schema: RLMObjectSchema) {
super.init(realm: realm, schema: schema)
}
required public init(value: Any, schema: RLMSchema) {
fatalError("init(value:schema:) has not been implemented")
}
}
然后在我的代码中,我尝试像这样编写并提交写入事务:
let ConnectionState = ConnectionState()
ConnectionState.a = "a"
ConnectionState.b = "b"
ConnectionState.c = 1
try! self.realm.write {
self.realm.add(ConnectionState)
}
try! self.realm.commitWrite()
运行此代码时,我收到错误消息:
Can't commit a non-existing write transaction
我错过了什么?我的 ConnectionState 类中是否需要初始化? 在添加 commitWrite 之前,我试图用领域浏览器查看数据库。我在 xCode 中找到了我的设备并选择下载容器,但它是空的。然后我想我需要添加commitWrite
【问题讨论】:
标签: swift database swift3 realm realm-mobile-platform