在Swift中可以通过实现Equatable协议使自定义类型支持==以及!=这两种运算符;Comparable协议继承于Equatable,实现...
在Swift中可以通过实现Equatable协议使自定义类型支持==以及!=这两种运算符;Comparable协议继承于Equatable,实现...
在Swift中,由于值类型在传递过程会创建新的副本,所以你不需要做任何事情管理值类型的内存;而引用类型则不一样,它在传递过程中会创建新的引用,这...
在Swift中进行面向对象编程时,尽量使用协议和泛型,而不是类继承,因为过深的继承层次很容易让代码充满难以理解的类。 协议扩展 前面我们介绍过了...
泛型能让我们使用的类型和函数使用未知的类型,许多内置类型,例如可空类型,数组和字典都是用泛型实现的。 泛型类型 下面的结构体实现了一个简单的栈,...
扩展能给已有的类型(即使没有源代码)添加功能,包括计算属性,协议,初始化方法,新方法,嵌入类型,注意,扩展不允许添加存储属性 类型别名 使用ty...
错误分为可恢复的错误和不可恢复的错误,可恢复的错误指的是能预见并处理的错误,例如文件不存在,网络连接失败等;不可恢复的错误指的是一类特殊的bug...
Swift中的协议类似于Java中的接口,不过在Swift中,结构体,枚举,类都能使用协议。 基本用法 符合多个协议 一个类型可以符合多个协议,...
Swift中Array,Dictionary,Int,String等都是用结构体来实现的,所以这些都是值类型,而Class则是引用类型 值类型 ...
结构体的默认初始化 swift为结构体提供了默认初始化方法,当结构体所有属性都有默认值时,可以使用空白初始化方法 成员初始化方法是默认初始化方法...
属性分为存储属性与计算属性,存储属性可以有默认值,计算属性则根据已有信息返回某种计算结果。类,结构体,枚举都可以有属性 基本存储属性 不使用代码...
专题公告
记录学习Swift的一些笔记,方便以后温习