我有两个班:公司和员工.两者都继承了Realm Object类.
class Company:Object {
var name:String = ""
var employee:Employee?
override static func primaryKey() -> String? {
return "name"
}
}
class Employee:Object {
var name:String = ""
var age:Int = 0
override static func primaryKey() -> String? {
return "name"
}
}
Run Code Online (Sandbox Code Playgroud)
填充对象
var emp = Employee()
emp.name = "Sachin"
emp.age = 35
var comp = Company()
comp.name = "BCCI"
comp.employee = emp
println("Before: \(comp.employee)")
var realm = Realm()
realm.write {
println("Before Add: \(comp.employee)")
realm.add(comp, update: true)
println("In Block: \(comp.employee)")
}
println("After: \(comp.employee)")
Run Code Online (Sandbox Code Playgroud)
结果:
之前:员工{name = Sachin; 年龄= 35岁; }
添加之前:员工{名=萨钦; 年龄= 35岁; }
在方框:无
后:无
问题:
为什么公司的员工财产在realm.add()运营后对象为零?有什么想法吗?
对于所有Realm Swift属性(除外List),您需要将属性声明为dynamic.将模型定义更改为以下内容应该有所帮助!
class Company:Object {
dynamic var name:String = ""
dynamic var employee:Employee?
override static func primaryKey() -> String? {
return "name"
}
}
class Employee:Object {
dynamic var name:String = ""
dynamic var age:Int = 0
override static func primaryKey() -> String? {
return "name"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
542 次 |
| 最近记录: |