Swift3.0 - 镜像

作者: 酷走天涯 | 来源:发表于2016-10-08 16:27 被阅读838次

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

    简直帅到掉渣

    相关文章

      网友评论

      本文标题:Swift3.0 - 镜像

      本文链接:https://www.haomeiwen.com/subject/oqtuyttx.html