为什么我在使用 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.

非常感谢他指出错误。