如何在调试器中获取可读的密钥路径?

时间:2018-11-12 11:31:43

标签: swift xcode

我想在调试时将keyPath的内容打印为在控制台中可读的内容,但是我只获得类Name,而没有获得该类中目标对象的更多信息。

我的简而言之:

要了解我的意思,只需将\ Book.chapter之类的内容分配给一个对象,然后尝试将其放入调试控制台。我只看到本书,但没有看到这一章。

我要做什么:

对于我的大多数页面,这都可以正常工作。我正在这样使用keyPath:

    static func hasRightsToShow(keyPath: AnyKeyPath) -> Bool {
        let fieldName = rights[keyPath] // rights is a dictionary
        let access = fieldAccessFor(fieldName: fieldName)
        return access != .none
    }    

可能的keyPath值传递为:

    hasRightsToShow(kp: \Book.chapter)

现在我的权限返回一个空字段,我看不到调试过程中的keyPath是什么。

我不能只是回到堆栈上查看谁通过了它,因为它运行的键路径数组有很多值。单检查所有值将是一个真正的痛苦...是的,可能是因为我使用了权限词典中不存在的字段,并且可以只查找那里的每个属性,但是如果我可以读取控制台中的完整路径,将节省更多时间。

0 个答案:

没有答案