我做了这样的结构对象:

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解码器。

09-07 23:44