我做了这样的结构对象:
struct Lamp {
var name:String!
var age:Int!
}
我有这样的信息字典:
let infoDict = [
"name":"Jason",
"age":23
] as [String : Any]
并创建Lamp struct对象的新实例:
var lamp = Lamp()
以及:
var labelsArr : Array<String> = []
for property in Mirror(reflecting: lamp).children {
print("label : \(String(describing: property.label ))") //name , age
labelsArr.append(property.label!)
}
最后,我想将infoDict的值设置为lamp实例。考虑到我不想这样手动设置:
lamp.name = infoDict["name"]
lamp.age = infoDict["age"]
我想动态地设置这些值。因为我不知道Lamp struct中设置了哪些属性,所以代码必须识别Lamp中设置了哪些属性并自行设置值。
谢谢您。
最佳答案
你应该结帐Unbox by John Sundell
这是一个用Swift编写的非常好的JSON解码器。