为什么我在使用 Realm 时通过 KVC 而不是通过使用属性来获取价值?
Why do I get value by KVC but not by using properties while using Realm?
我正在尝试 Realm(使用 pods 安装)。我正在使用 Swift 3 和 Xcode 8.1.
我的代码是这样的-
do {
let realm = try Realm()
let human = Human()
human.name = "Nikhil"
human.legs = 2
try realm.write {
realm.add(human)
}
let humans = realm.objects(Human.self)
for h in humans {
print("\(h.name)") //Here is breakpoint
}
} catch {
//
}
然后我
(lldb) po h.name
""
(lldb) po h.value(forKey: "name")!
Nikhil
为什么属性没有返回值,但我可以通过 value(forKey:
检索值?
如@kishikawa katsumi 所述 -
Class 属性应该定义为 dynamic
.
非常感谢他指出错误。
我正在尝试 Realm(使用 pods 安装)。我正在使用 Swift 3 和 Xcode 8.1.
我的代码是这样的-
do {
let realm = try Realm()
let human = Human()
human.name = "Nikhil"
human.legs = 2
try realm.write {
realm.add(human)
}
let humans = realm.objects(Human.self)
for h in humans {
print("\(h.name)") //Here is breakpoint
}
} catch {
//
}
然后我
(lldb) po h.name
""
(lldb) po h.value(forKey: "name")!
Nikhil
为什么属性没有返回值,但我可以通过 value(forKey:
检索值?
如@kishikawa katsumi 所述 -
Class 属性应该定义为 dynamic
.
非常感谢他指出错误。