泛型(Generics) 1、泛型可以将类型参数化,提高代码复用率,减少代码量 栈 汇编分析泛型的实现原理 通过汇编我们可以看到两次调用的swa...
错误类型 1、开发过程常见的错误 自定义错误 1、Swift中可以通过Error协议自定义运行时的错误信息 2、函数内部通过throw抛出自定义...
Any、AnyObject 1、Swift提供了2种特殊的类型:Any、AnyObject is、as?、as!、as 1、is用来判断是否为某...
以addWater方法为例讲解代码可读性的改进方案 前置条件:如果参数是负值,则组中要有足够的水量。 后置条件:将添加的水平均分配给该组中的所有...
协议(Protocol) 1、协议可以用来定义方法、属性、下标的声明,协议可以被枚举、结构体、类遵守(多个协议之间用逗号隔开) 2、协议中定义方...
初始化器 required 用required修饰指定初始化器,表明其所有子类都必须实现该初始化器(通过继承或者重写实现) 如果子类重写了req...
源代码有两种不同的用户:程序员和计算机。一方面,计算机既能处理干净、结构良好的代码,也能处理混乱的代码。另一方面,程序员对代码的可读性很敏感。甚...
初始化 初始化器 1、类、结构体、枚举都可以定义初始化器 2、类有2种初始化器:指定初始化器(deaignated initializer)、便...
多态 首先看一下结构体的实例方法调用 看一下汇编 编译完就能确定最终调用谁,因为函数地址是写死的。 换成class之后我们再来看一下 再看一下汇...