【发布时间】:2021-03-01 01:38:31
【问题描述】:
在 Swift 5 中有没有一种方法可以遍历所有键路径?我知道Mirror 将为您提供键的字符串表示,但我不能使用setValue,因为我的对象不是从NSObject 继承的,并且有几个值与@objc 不兼容。我正在尝试执行以下操作(伪编码):
func overwrite(source:T, overwrite:T) {
for keypath in overwrite.allKeypaths() {
source[keyPath: keyPath] = overwrite[keyPath: keyPath]
}
}
这里的最终目标是首先在现有对象中创建一个浅拷贝,并可能将其扩展为包含基于值类型的深层拷贝。
【问题讨论】:
标签: swift reflection swift5 mirror keypaths