Swift 4 KVC - 转换为无关类型总是失败

时间:2017-07-26 07:27:19

标签: swift4

我无法使用其超类将KeyPath相关对象条件转换为KeyPath。有这个简单的设置

class Foo {
    let name: String
    init(name: String) {
        self.name = name
    }
}
class Bar: Foo {}

let keyPath = \Bar.name
if let keyPath = keyPath as? KeyPath<Foo, String> {
    print(keyPath)
}

它警告我的打印方法永远不会被执行,因为

  

来自&#39; KeyPath&lt; Bar,String&gt;&#39;不相关的类型&#39; KeyPath&lt; Foo,   串GT;&#39;总是失败

一般来说,我希望能够在AnyObject内使用KeyPath进行操作,但这种行为阻止了我这样做。有人可以解释一下预告如何适用于KeyPath并可能提供一种解决方法吗?

0 个答案:

没有答案