原文:http://coolketang.com/staticCoding/5a9925ac128fe1189bdbd578.html
1. struct结构体是构建代码常用的一种通用灵活的构造体。通过为结构体定义属性和方法,可以扩展结构体的功能。本节课为你演示结构体的使用。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-1d69ab8c569f0e5a.png)
2. 使用struct关键词可以定义一个结构体,结构体的名称通常使用首字母大写的形式。和枚举相同的是,结构体的内容也是放在一对大括号之内。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-eb2828c10d35dcc7.png)
3. 给结构体定义一个字符串类型的属性,并设置它的默认值为空字符串。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-d9b53a33bc073552.png)
4. 定义一个整型类型的属性,并设置它的默认值为0。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-8ded1196d13fda7a.png)
5. 给结构体定义一个方法,用来在控制台输出名称属性的值。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-9b91ab619d5201a3.png)
6. 接着实例化一个结构体对象,并设置它的两个属性的值。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-482e71f4f0a5c332.png)
7. 调用结构体对象的方法,并查看第11行右侧输出的结果。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-f02943a5b462e21b.png)
8. 当将一个结构体对象赋值给一个变量或常量时,采用的是复制的方式。所以此时animal和animal2两个变量具有不同的内存地址。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-263b967e55eded96.png)
9. 你可以尝试修改第二个结构体对象的名称。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-a8ab25ed8f419159.png)
10. 然后输出两个结构体对象,并点击底部的显示调试区图标,打开控制台。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-9288ab71ba24ce71.png)
11. 从控制台的日志输出可以看出,两个结构体对象具有不同的名称属性。再次点击底部的显示调试区图标,隐藏控制台。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-f331a8b029383865.png)
12. 继续编写代码,演示结构体的下标特性。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-e8016eb1c26159af.png)
13. 首先创建一个新的结构体。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-c0ee574ed5ea2c1b.png)
14. 给结构体添加一个整型的属性。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-55c0bde0a92ad87d.png)
15. 然后使用下标关键词,给结构体添加一个下标操作,该下标用来返回当前属性的值的指定倍数。使用下标可以作为访问集合、列表或序列成员元素的快捷方式。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-dff4223d3b188788.png)
16. 接着初始化一个结构体对象,并设置其属性的值为5。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-5fa276de315c1fad.png)
17. 最后对结构体对象使用下标操作,从右侧的实时反馈区可以看出,最终的结果是当前属性值的两倍。
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-e5269d4db0832145.png)
![Swift4互动教程](http://upload-images.jianshu.io/upload_images/5981183-78964d9be4ce4c46.png)
本文整理自:《Swift4互动教程》,真正的
[手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载:
https://itunes.apple.com/cn/app/id1320746678
,或扫描本页底部的二维码。课程配套素材下载地址:
资料下载