swift学习之类和结构体
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 类和结构体对比 Swift 中类和结构体有很多共同点。共同处在于: 定义属性用于存储值 定义方法用于提供功能 定义下标操作使得可以通过下标语法来访问实例所包含的值 定义构造器用于生成初始化值 通过扩展以增加默认实现的功能 实现协议已提供某种标准功能 与结构体对比类还有如下的附加功能: 类可以继承 类允许在运行时检查和解释一个类实例 的类型 类的析构器允许个类实例释放任何其所分配的资源 引用计数允许对一个类的多次引用 注意:结构体总是通过被复制的方式在代码中传递,不适用引用计数。这是类和结构体的区别之一 类和结构体都可以使用点语法访问其属性。 注意:与Objective-C不同,Swift允许直接设置结构体的子属性的值。比如在OC中 tableView.frame.origin.x = 200这种写法就会报语法错误,而在Swift中则不会。 结构体都一个自动生成的成员逐一构造器,用于初始化结构体实例中的属性。如: CGRect.init(origin: , size: ) 然而类却不会自动生成。 结构体和 枚举 是值类型的 值类型被赋予一个变量,常量或者当做参数传递给函数的时候,其值会被拷贝。 在 Swift 中,所有的基本类型:整数(Integer)、浮 点数(floating-point)、布尔值