Swift3.0 - 镜像

Swift3.0 - 真的很简单
Swift3.0 - 数据类型
Swift3.0 - Array
Swift3.0 - 字典
Swift3.0 - 可选值
Swift3.0 - 集合
Swift3.0 - 流控制
Swift3.0 - 对象和类
Swift3.0 - 属性
Swift3.0 - 函数和闭包
Swift3.0 - 初始化和释放
Swift3.0 - 协议protocol
Swift3.0 - 类和结构体的区别
Swift3.0 - 枚举
Swift3.0 - 扩展
Swift3.0 - 下标
Swift3.0 - 泛型
Swift3.0 - 异常错误
Swift3.0 - 断言
Swift3.0 - 自动引用计数(strong,weak,unowned)
Swift3.0 - 检测API
Swift3.0 - 对象的标识
Swift3.0 - 注释
Swift3.0 - 元类型
Swift3.0 - 空间命名
Swift3.0 - 对象判等
Swift3.0 - 探究Self的用途
Swift3.0 - 类簇
Swift3.0 - 动态调用对象(实例)方法
Swift3.0 - 文本输出
Swift3.0 - 黑魔法swizzle
Swift3.0 - 镜像
Swift3.0 - 遇到的坑

  • 输出对象的内容到控制台
struct Person {
    var name: String
    var age: Int
    var weight:Double
}
let person:Any = Person(name: "13", age: 12,weight:99)
dump(person)

运行结果:

▿ Person
-name: "13"
-age: 12
-weight: 99.0

  • 镜像的使用

做个简单的对象转字典应用

func anyobjectConvertDic(any:Any)->[String:Any]?{
var dic:[String:Any] = [:]
for childer in Mirror(reflecting: any).children {
    dic[childer.label!] = childer.value
}
return dic
}

运行下面代码:

print(anyobjectConvertDic(any: person))

运行效果:

Optional(["name": "13", "age": 12, "weight": 99.0])

简直帅到掉渣

推荐阅读更多精彩内容