1,创建一个类,必须初始化所有必选属性
2,类和结构体大部分功能相同:
共同点:
1,可以的定义属性,方法,附属脚本,构造器。
2,可以通过扩展增加默认功能。
3,符合协议以对某类提供标准功能。
不同点:
1,类可以有继承。
2,引用技术允许对一个类引用多次。
3,结构体总是通过复制的方式在代码传递。
3,类数据成员包含(字段,常量),函数成员(属性,索引,事件,运算符,构造函数,析构函数)。
4,构造成员(字段,属性,字段)
5,swift不是通过一个基类派生而来,如果不指定一个基类,默认是基类。
6,重写,使用override关键字,只读的属性的不能重写属性
7,结构体和枚举都是值类型,在代码中传递的时候都会被复制。
8,“===” 使用恒等运算符进行判断变量或者常量是否引用同一个类型,“==”等于运算两个实例的值是否相等。
进行不正确使用
9,类和结构体选择
结构体:
1,封装简单的数据。
2,一个实例需要按照值传递,封装数据将会拷贝数据
3,任何结构体存储的值类型也将会拷贝。
4,不需要继承一个存在的类型。
10,swift中数组(Array)和字典(Dictionary)类型均以结构体的形式实现。
11,字典赋值和拷贝行为,字典在复制或者调用时发生拷贝的行为。如果字典中存储值类型,则在拷贝时一起拷贝存储类型,如果存储应用类型,则只拷贝引用。
12,数组和字典相同。
(swift管理所有的值拷贝以确保性能最优化,所以也没有必要去避免值以保证最优性能,实际赋值由系统管理优化)