Swift 5 中有没有办法遍历所有键路径?我知道Mirror
会给你键的字符串表示,但我不能使用setValue
,因为我的对象不是继承自NSObject
并且几个值不@objc
兼容。我正在尝试执行以下操作(伪编码):
func overwrite(source:T, overwrite:T) {
for keypath in overwrite.allKeypaths() {
source[keyPath: keyPath] = overwrite[keyPath: keyPath]
}
}
这里的最终目标是首先在现有对象中创建一个浅拷贝,并可能将其扩展为包含基于值类型的深层拷贝。