【发布时间】:2015-12-22 17:00:25
【问题描述】:
我面临一个问题,即 Realm 对象有另一个 Realm 对象作为成员,在添加到数据库后始终为 nil。
class MedPack: Object {
dynamic var uuid = NSUUID().UUIDString
dynamic var medicine: Medicine?
convenience init(medicine: Medicine) {
self.init()
self.medicine = medicine
}
override static func primaryKey() -> String? {
return "uuid"
}
}
添加后对象Medicine的引用始终为nil。
class Medicine: Object {
var uuid = NSUUID().UUIDString
var name: String?
override static func primaryKey() -> String? {
return "uuid"
}
}
对象的创建
let medPack = MedPack(medicine: med)
添加到数据库
static let sharedInstance = DBHelper()
var realmDb: Realm!
private init() {
realmDb = try! Realm()
}
func store(object: Object) {
try! self.realmDb.write {
self.realmDb.add(object)
}
}
【问题讨论】:
-
您如何检测到该对象为零?监视窗口总是显示 nil 例如成员,无论这是否属实。我会说这与领域对象的惰性有关
-
@ClaudioRedi 当我从数据库中获取对象时,
Medicine对象没有被保存,但MedPack被保存。 -
原谅我的无知, Medicine 子类的 MBObject 是什么?
-
@caseynolan 对不起,这也应该只是
Object