使用反射在Swift中更改属性

使用反射在Swift中更改属性,第1张

概述我正在尝试创建一个将更改对象属性的序列化程序. 例: class testobj{ var prop1:Int = 3 var prop2:String = "Hello" var prop3:Dictionary<String,String> = Dictionary<String,String>()} 我知道我可以使用访问属性的名称和类型 reflect(testob 我正在尝试创建一个将更改对象属性的序列化程序.

例:

class testobj{    var prop1:Int = 3    var prop2:String = "Hello"    var prop3:Dictionary<String,String> = Dictionary<String,String>()}

我知道我可以使用访问属性的名称和类型

reflect(testobjc())[0].1

var tester = testobj()_std_lib_DemangledTypename(tester.prop1)

但我想做的事情是这样的

var tester = testobj()for(var x:Int = 0; x < reflect(testobj()).count; x++){    if(_std_lib_DemangledTypename(tester.(reflect(testobj())[0].1)) == "Swift.String"){        tester.(reflect(testobj())[0].1) = "World!"    }}

本质上,我想遍历为给定类列出的所有属性,并在该类的新创建的对象上设置属性.任何指导将不胜感激.快速反射对我来说是新的.

解决方法 您可以使用此类从字典中创建字体形式的对象和对象.
https://github.com/evermeer/EVReflection 总结

以上是内存溢出为你收集整理的使用反射在Swift中更改属性全部内容,希望文章能够帮你解决使用反射在Swift中更改属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1017739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存