我意识到Swift 4(https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md)中智能密钥路径的重点是提供编译时静态类型检查,但我当前的应用程序利用在运行时动态组合的密钥路径。
这仍适用于非Linux平台:
open func setValue(_ value: Any?, forKeyPath keyPath: String)
但是,它在Linux上不起作用,除此之外我还想切换到使用智能路径。
在您事先不知道路径的情况下,是否需要使用智能密钥路径,而是想像旧式功能一样动态组合它?或者,您能否建议如何重构旧式方法以使用编译时路径?