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])

简直帅到掉渣

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容