我需要获取刚刚保存的记录ID,以将信息传递给segue。
如何返回获取保存的记录的ID?
型号:
class Month: Object {
@objc dynamic public private(set) var id = ""
@objc dynamic public private(set) var month = Date()
@objc dynamic public private(set) var beg:Int = 0
override class func primaryKey() -> String {
return "id"
}
写:
static func addMonthToRealm(month: Date, beg: Int) {
do {
let realm = try Realm( )
try realm.write {
realm.add(month)
try realm.commitWrite()
}
} catch {
debugPrint("Error adding run to realm!")
}
}
使用Swift 4.2和Realm 3.1
谢谢。
答案 0 :(得分:1)
您的代码有几个问题。首先,您尝试将Date
对象保存到Realm
,而不是保存自定义Month
对象。其次,切勿在{{1}}事务内调用commitWrite
。仅当您使用write
来启动commitWrite
事务而不是使用beginWrite
进行关闭时,才需要调用write
。
realm.write
您还需要修改static func addMonthToRealm(date: Date, beg: Int) -> String? {
let month = Month()
month.month = date
month.beg = beg
do {
let realm = try Realm( )
try realm.write {
realm.add(month)
}
return month.id
} catch {
debugPrint("Error adding run to realm!")
return nil
}
}
对象定义以生成唯一的Month
。
id