ios - 为什么我在使用 Realm 时通过 KVC 获得值(value),而不是通过使用属性获得值(value)?

标签 ios swift swift3 realm kvc

我正在尝试Realm (使用 Pod 安装)。我正在使用 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 所说 -

类属性应该被定义为动态

非常感谢他指出这个错误。

关于ios - 为什么我在使用 Realm 时通过 KVC 获得值(value),而不是通过使用属性获得值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41381258/

相关文章:

ios - 在 ViewWillDisappear 上插入数据库

ios - 如何使用 Facebook iOS SDK 4.x 获得 “rerequest” 电子邮件权限?

ios - 如何在第一次启动时阻止通知权限?

Swift 3. 从全屏退出时 AVPlayerViewController 问题

ios - 更改选取器 View 内的字体颜色

swift - 如何检查两个异步任务是否成功完成

swift - 将 Int 转换为 Bool

objective-c - 没有可见的@接口(interface)声明选择器 "dismissModalViewControllerAnimated"

ios - 将 JWTDecode 添加到现有的 iOS 项目,找不到框架

arrays - 循环遍历不同长度的数组 Swift