初识swift

来源:互联网 发布:淘宝文案策划案例 编辑:程序博客网 时间:2024/06/05 08:57

初识swift

为什么swift是面向协议编程的语言

  • 在swift2.0开始,我们就可以为 类,结构体,枚举类 协议 进行协议扩展
  • 协议扩展性质有点类似于C++的基类抽象类和java中的接口。 但是协议扩展的优点是能够让值类型的结构体和枚举都能拥有默认行为。
  • 同时,因为swift只支持单继承。所以类型可以遵守多个不同的协议,实现多种不同的默认行为,但又不必添加额外的状态。不必考虑像C++中的D继承于B、C ,B、C又分别继承于A的这种菱形继承。
  • 在MVC模式学习中,协议扩展为view模块和controller模块交流提供便利,使view模块与controller模块完全分隔开来。

为什么swift多用结构体而不是类

  • 结构体是值类型,类是引用类型。值类型在赋值,传入函数中是通过复制传递的。而引用类型是通过传递引用来传递的。
  • 所以当你并不想改变原变量时,结构体显然是更吸引人的选择。