在 Swift 中,class 是引用类型(指针类型), struct 是值类型
值类型
值类型在传递和赋值时将进行复制; 赋值给var、let或者给函数传参,是直接将所有内容拷贝一份, 类似于对文件进行...属于深拷贝(deep copy)
值类型: 比如结构体,枚举,是在栈空间上存储和操作的
引用类型
引用类型只会使用引用对象的一个"指向"; 赋值给var、let或者给函数传参,是将内存地址拷贝一份,类似于制作一个文件的替身...值类型(比如:struct),在复制时,复制对象与原对象实际上在内存中指向同一个对象,当且仅当修改复制的对象时,才会在内存中创建一个新的对象
为了提升性能,Struct, String、Array、Dictionary...,使用 copy-on-write将值传递与复制开销降到最低
如何将Swift 中的协议(protocol)中的部分方法设计为可选(optional)?...自动闭包是一种自动创建的用来把作为实际参数传递给函数的表达式打包的闭包。它不接受任何实际参数,并且当它被调用时,它会返回内部打包的表达式的值。