swift 中类(class)和结构体(struct)区别 |
您所在的位置:网站首页 › swift中struct和class区别 › swift 中类(class)和结构体(struct)区别 |
类(class) 引用类型:将一个对象赋值给另一个对象时,系统不会对此对象进行拷贝,而会将指向这个对象的指针赋值给另一个对象,当修改其中一个对象的值时,另一个对象的值会随之改变。 结构体(struct) 值类型:将一个对象赋值给另一个对象时,会对此对象进行拷贝,复制出一份副本给另一个对象,在修改其中一个对象的值时,不影响另外一个对象。 不同点:1.类属于引用类型,结构体属于值类型 2.类允许被继承,结构体不允许被继承 3.类中的每一个成员变量都必须被初始化,否则编译器会报错,而结构体不需要,编译器会自动帮我们生成init函数,给变量赋一个默认值 举个例子: 代码语言:javascript复制import UIKit struct StructName { var name:String? } class ClassName { var name:String? } let stru:StructName = StructName() var structArr:[StructName] = [stru] for var temStruct in structArr { temStruct.name = "name" } for temStruct in structArr { print(temStruct.name) // 打印:nil } let clase:ClassName = ClassName() var claseArr:[ClassName] = [clase] for temClase in claseArr { temClase.name = "name" } for temClase in claseArr { print(temClase.name ) //打印: Optional("name") } |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |