我正在尝试创建一个序列化器,它将更改对象的属性。
例如:
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!"
}
}
基本上,我想循环遍历给定类别所列出的所有属性,并在新创建的该类别对象上设置这些属性。任何指导都将不胜感激。Swift反射对我来说是新的。