Swift Swift中的反射
2015-12-14 14:18
447 查看
Swift的反射机制是基于一个叫 Mirror 的 struct 来实现的,其内部有如下属性和方法:
使用样例:
样例1:输出实体对象的类名,属性个数,以及所有属性的属性名和属性值。
首先定义一个用户类:
接着创建一个用户对象,并通过反射获取这个对象的信息:
控制台输出信息如下:
原文:http://www.hangge.com/blog/cache/detail_976.html
相关链接:http://www.tuicool.com/articles/y6RrEbN(这文章不错)
let children: Children //对象的子节点。 displayStyle: Mirror.DisplayStyle? //对象的展示风格 let subjectType: Any.Type //对象的类型 func superclassMirror() -> Mirror? //对象父类的 mirror
使用样例:
样例1:输出实体对象的类名,属性个数,以及所有属性的属性名和属性值。
首先定义一个用户类:
//用户类 class User { var name:String = "" //姓名 var nickname:String? //昵称 var age:Int? //年龄 var emails:[String]? //邮件地址 }
接着创建一个用户对象,并通过反射获取这个对象的信息:
//创建一个User实例对象 let user1 = User() user1.name = "hangge" user1.age = 100 user1.emails = ["hangge@hangge.com","system@hangge.com"] //将user对象进行反射 let hMirror = Mirror(reflecting: user1) print("对象类型:\(hMirror.subjectType)") print("对象子元素个数:\(hMirror.children.count)") print("--- 对象子元素的属性名和属性值分别如下 ---") for case let (label?, value) in hMirror.children { print("属性:\(label) 值:\(value)") }
控制台输出信息如下:
原文:http://www.hangge.com/blog/cache/detail_976.html
相关链接:http://www.tuicool.com/articles/y6RrEbN(这文章不错)
相关文章推荐
- swift-商品加入购物车动画
- Swift学习(持续更新)
- iOS8 用AVAudioPlayer播放音乐(Swift)
- 银行卡扫描(基于swift)
- 《从零开始学Swift》学习笔记(Day48)——类型检查与转换
- 《从零开始学Swift》学习笔记(Day48)——类型检查与转换
- 窥探Swift编程之强大的Switch
- 高仿小日子客户端应用Swift版源码
- 在项目里交叉使用Swift和OC
- swift学习日记(五) 属性
- 高仿小日子客户端应用Swift版源码
- Swift——常量&变量
- 简读The Swift Programming Language官方文档--下标脚本 Subscripts
- 简读The Swift Programming Language官方文档--属性Properties
- 简读The Swift Programming Language官方文档--枚举
- 简读The Swift Programming Language官方文档--控制流
- 简读The Swift Programming Language官方文档--函数
- 简读The Swift Programming Language官方文档--集合类型
- 简读The Swift Programming Language官方文档--算数运算符
- 简读The Swift Programming Language官方文档--基础篇