原文:http://coolketang.com/staticCoding/5a9925acee920a671bb54049.html
1. 本节课将为你演示类的引用特征。与值类型不同,引用类型在被赋予到一个变量,常量或者被传递到一个函数时,操作的并不是其拷贝,而是已存在的实例本身。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/48994df6a076bbd7c1a7780af32233e4.webp?x-image-process=image/format,png)
2. 请看下面的示例代码,首先创建一个类。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/57a0144d930975cbe82d18fe2dd2501f.webp?x-image-process=image/format,png)
3. 给类添加两个属性。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/010f8584cdcd12798457fc30d0a775a7.webp?x-image-process=image/format,png)
4. 给类添加一个初始化方法。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/3391e776bc199d454ef6dfc624d9eb19.webp?x-image-process=image/format,png)
5. 在初始化方法中,设置两个属性的值。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/5ada436850bd0c689b3cfb8985558305.webp?x-image-process=image/format,png)
6. 给类添加一个方法,用来输出属性的值。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/ee8c66ea7eea6e8d3d39781b69f0e4c0.webp?x-image-process=image/format,png)
7. 接着对类进行实例化,并设置实例化后的对象的两个属性的值。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/2ed6bf91691bd762f1b0ed041a2fd0fa.webp?x-image-process=image/format,png)
8. 然后将该对象赋予另一个对象。新对象拥有旧对象相同的类型、属性和方法,并且两者的两个属性的值也都是相同的。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/b88c1672bd047f5022061e24867ee956.webp?x-image-process=image/format,png)
9. 此时对第二个对象的属性的值进行修改。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/3ffce920f285c5ba7becf4e2ef017b4b.webp?x-image-process=image/format,png)
10. 然后调用第一个对象的方法,从第17行右侧输出的日志可以看出,两个对象其实是对同一个实例的两个引用,当其中一个发生变化时,另一个也跟着发生变化。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/7b4548b2fdf02d46c4a762b93d5aab03.webp?x-image-process=image/format,png)
11. 打开底部的控制台之后,继续调用第二个对象的方法。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/d55a0c0ea8f3654e3051d893599ed4a7.webp?x-image-process=image/format,png)
12. 从控制台输出的两条日志,验证了类的引用特征,这也是类区别于结构体的一个特性。
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/fcd3fa00a5224fb0a7cd911c7e7dc222.webp?x-image-process=image/format,png)
![Swift4互动教程](https://i-blog.csdnimg.cn/blog_migrate/36304f4941d8758e53fea30af4b32748.webp?x-image-process=image/format,png)
本文整理自:《Swift4互动教程》,真正的
[手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载:
https://itunes.apple.com/cn/app/id1320746678
,或扫描本页底部的二维码。课程配套素材下载地址:
资料下载
![](https://i-blog.csdnimg.cn/blog_migrate/14e41f97b6d4b51f7bc11081e2a0e101.png)