Closed trimaximus closed 4 months ago
这个需求,我需要再思考一下实现的可能。 目前来看不太好实现。
我在使用Codable的过程中,用了个笨办法,传入object1,decode到另外一个对象object2,然后使用keyPath,copy非空字段到object1,效率还行。 参考链接:https://stackoverflow.com/questions/78487130/best-way-to-copy-set-of-parameters-from-one-object-to-another
好的,我们评估一下。
可否提供你的实现思路。 最好可以提供可运行的代码。 stackoverflow上的copy方法似乎会导致示内存访问问题。虽然单个path的处理可以解决问题,但是不太好处理不同类型的WritableKeyPath,你是如何这种情况下的类型擦除的?
不同类型的WritableKeyPath
确实是个难点,鉴于我们项目对字段解析的顺序有要求,目前用硬编码的方式对已有对象进行更新,并没有优雅的解决方案,Sorry~
P.S. 我将在后续尝试实现不同类型的WritableKeyPath
泛型处理,可否不要关闭此issue
,方便后续联系?
加QQ群吧: 865036731。 联系更顺畅。我实现了一个比较low的方案,至少可以实现这个需求,可以一起探讨一下。
4.0.0-beta.5 版本已支持。 查看SmartUpdater。
HandyJSON
中,可以使用JSONDeserializer.update(object: &object, from: jsonString)
来更新已有的模型,SmartCodable
现行版本(3.4.0)并无相关特性。