gpt4 book ai didi

ios - 如何处理 Swift 中缺少反射的问题?

转载 作者:搜寻专家 更新时间:2023-10-31 19:30:47 24 4
gpt4 key购买 nike

作为一名正在学习 Swift 的经验丰富的 Objective-C 开发人员,我确实缺少 Objective-C 的一些反射和动态特性。

例如:我编写了一个 JSON 序列化器,它使用 KVO 和 Objective C 内省(introspection)自动映射键和值,并且有像 Mantle 这样的开源库可以做到这一点。

我可以将我的对象声明为 NSObject 子类并继续,但我觉得这不是 Swift 的做事方式。

有没有其他方法可以使用 Swift 提供的功能来完成相同的任务,同时避免样板代码?

最佳答案

编辑:(2016 年)这个答案是自动标注日期的。有些建议可能仍然相关,但既然 Swift 是开源的,我会研究其他可能的答案。

没有像您描述的那样内置于 Swift 中的原生 KVO 反射。看: https://stackoverflow.com/a/24092370/798682

根据我们对 Swift 编译器如何在编译时优化方法执行的了解(与 ObjC 的纯运行时实现相比),它似乎不太可能很快被添加。参见 https://stackoverflow.com/a/25438299/798682http://blog.untitledkingdom.co.uk/obj-c-vs-swift/了解更多信息。

综上所述,这里有一篇关于 Swift 中一些 KVO 替代方案的博文: http://blog.scottlogic.com/2015/02/11/swift-kvo-alternatives.html另一个详细介绍了 Swift 中的一些反射功能: http://freecake.angelodipaolo.org/simple-reflection-in-swift/ .

关于ios - 如何处理 Swift 中缺少反射的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31763455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com