课程目录

1-1 [说在前面的话] 课程优势和特色(4.x) (03:22)
2-1 [Swift简介] Swift的历史和特点(4.x) (05:37)
2-2 [Swift简介] 搭建Swift开发环境(4.x) (03:02)
2-3 [Swift简介] 在终端窗口中编译和运行HelloWorld(4.x) (07:53)
2-4 [Swift简介] 在Xcode项目中编译和运行HelloWorld(4.x) (03:47)
2-5 [Swift简介] 在Playground中编译和运行HelloWorld(4) (03:07)
2-6 [Swift简介] Playground简介(4.x) (07:32)
3-1 [变量和常量] 变量和常量的概述(4.x) (05:02)
3-2 [变量和常量] 变量和常量的声明及初始化(上)(4.x) (10:42)
3-3 [变量和常量] 变量和常量的声明及初始化(下)(4.x) (14:32)
3-4 [变量和常量] 变量和常量的命名规则(关键字和标识符)(4.x) (16:38)
4-1 [数据类型] 数据类型的概述(4.x) (04:52)
4-2 [数据类型] 整数类型(上)(4.x) (11:31)
4-3 [数据类型] 整数类型(下)(4.x) (12:29)
4-4 [数据类型] 不同整数类型运算时的相互转换(4.x) (09:34)
4-5 [数据类型] 浮点类型(4.x) (14:55)
4-6 [数据类型] 不同浮点类型运算时的相互转换(4.x) (05:24)
4-7 [数据类型] 整数类型和浮点类型运算时的相互转换(4.x) (11:15)
4-8 [数据类型] 布尔类型(4.x) (05:29)
4-9 [数据类型] 元组类型(上)(4.x) (08:51)
4-10 [数据类型] 元组类型(下)(4.x) (07:15)
4-11 [数据类型] 可选类型(4.x) (09:01)
4-12 [数据类型] 可选类型的解包之强制解包(4.x) (05:27)
4-13 [数据类型] 可选类型的解包之可选绑定(上)(4.x) (08:19)
4-14 [数据类型] 可选类型的解包之可选绑定(下)(4.x) (09:49)
4-15 [数据类型] 隐式解包的可选类型(4.x) (06:17)
4-16 [数据类型] 类型别名(4.x) (03:58)
5-1 [基本运算符] 运算符的概述(4.x) (07:30)
5-2 [基本运算符] 简单赋值运算符(4.x) (08:10)
5-3 [基本运算符] 复合赋值运算符(4.x) (05:53)
5-4 [基本运算符] 比较运算符(上)(4.x) (06:38)
5-5 [基本运算符] 比较运算符(下)(4.x) (10:43)
5-6 [基本运算符] 正号和负号运算符(4.x) (03:45)
5-7 [基本运算符] 标准算术运算符(4.x) (04:12)
5-8 [基本运算符] 取余运算符(4.x) (05:53)
5-9 [基本运算符] 逻辑运算符(上)(4.x) (08:12)
5-10 [基本运算符] 逻辑运算符(下)(4.x) (05:37)
5-11 [基本运算符] 三目条件运算符(4.x) (08:23)
5-12 [基本运算符] 区间运算符(4.x) (13:06)
5-13 [基本运算符] NilCoalescing运算符(4.x) (07:46)
5-14 [基本运算符] 运算符的优先级和结合性(上)(4.x) (06:09)
5-15 [基本运算符] 运算符的优先级和结合性(下)(4.x) (08:06)
6-1 [字符和字符串] 字符和字符串的概述(4.x) (02:15)
6-2 [字符和字符串] 字符的表示方式(4.x) (09:15)
6-3 [字符和字符串] 字符变量和常量的声明及初始化(4.x) (05:18)
6-4 [字符和字符串] 字符的可变性(4.x) (02:54)
6-5 [字符和字符串] 字符是值类型(4.x) (05:59)
6-6 [字符和字符串] 字符的UnicodeScalar(4.x) (06:50)
6-7 [字符和字符串] 字符的相等性比较(4.x) (02:21)
6-8 [字符和字符串] 字符串的表示方式(4.x) (03:09)
6-9 [字符和字符串] 字符串变量和常量的声明及初始化(4.x) (02:52)
6-10 [字符和字符串] 多行字符串字面量(4.x) (09:01)
6-11 [字符和字符串] 字符串的可变性(4.x) (03:18)
6-12 [字符和字符串] 字符串是值类型(4.x) (05:57)
6-13 [字符和字符串] 字符串的字符个数(4.x) (03:32)
6-14 [字符和字符串] 字符串的比较(4.x) (10:22)
6-15 [字符和字符串] 字符串的遍历(4.x) (05:10)
6-16 [字符和字符串] 字符串的Unicode表示方式(上)(4.x) (13:08)
6-17 [字符和字符串] 字符串的Unicode表示方式(下)(4.x) (07:22)
6-18 [字符和字符串] 字符串中字符的索引(上)(4.x) (07:38)
6-19 [字符和字符串] 字符串中字符的索引(下)(4.x) (06:29)
6-20 [字符和字符串] 字符串的查操作(4.x) (06:32)
6-21 [字符和字符串] 字符串的改操作(4.x) (02:40)
6-22 [字符和字符串] 字符串的增操作(4.x) (10:29)
6-23 [字符和字符串] 字符串的删操作(4.x) (04:57)
6-24 [字符和字符串] 字符串的大小写转换(4.x) (02:54)
6-25 [字符和字符串] 字符串与整数或浮点数的相互转换(4.x) (04:50)
6-26 [字符和字符串] 字符串的插值(4.x) (07:36)
7-1 [Collection类型] Collection类型的概述(上)(4.x) (06:28)
7-2 [Collection类型] Collection类型的概述(下)(4.x) (09:27)
7-3 [Collection类型] 数组变量和常量的声明及初始化(上)(4.x) (07:21)
7-4 [Collection类型] 数组变量和常量的声明及初始化(中)(4.x) (09:00)
7-5 [Collection类型] 数组变量和常量的声明及初始化(下)(4.x) (06:26)
7-6 [Collection类型] 数组中元素的索引(4.x) (12:05)
7-7 [Collection类型] 数组的“查”操作(上)(4.x) (09:12)
7-8 [Collection类型] 数组的“查”操作(下)(4.x) (08:57)
7-9 [Collection类型] 数组的“改”操作(4.x) (04:52)
7-10 [Collection类型] 数组的“增”操作(上)(4.x) (10:58)
7-11 [Collection类型] 数组的“增”操作(下)(4.x) (08:28)
7-12 [Collection类型] 数组的“删”操作(上)(4.x) (05:20)
7-13 [Collection类型] 数组的“删”操作(中)(4.x) (08:00)
7-14 [Collection类型] 数组的“删”操作(下)(4.x) (08:08)
7-15 [Collection类型] 数组的遍历(4.x) (09:21)
7-16 [Collection类型] 数组是值类型(4.x) (05:20)
7-17 [Collection类型] 数组的相等性比较(4.x) (04:55)
7-18 [Collection类型] 数组的容量(4.x) (07:40)
7-19 [Collection类型] 多维数组(上)(4.x) (07:38)
7-20 [Collection类型] 多维数组(下)(4.x) (11:57)
7-21 [Collection类型] 数组的方法index()(4.x) (07:26)
7-22 [Collection类型] 数组的方法contains()(4.x) (04:45)
7-23 [Collection类型] 数组的方法starts()(4.x) (08:55)
7-24 [Collection类型] 数组的方法filter()(4.x) (03:25)
7-25 [Collection类型] 数组的方法map()(4.x) (02:55)
7-26 [Collection类型] 数组的方法joined()(4.x) (03:14)
7-27 [Collection类型] 数组的方法flatMap()(4.x) (08:29)
7-28 [Collection类型] 数组的方法sorted()和sort()(4.x) (10:18)
7-29 [Collection类型] 数组的方法min()和max()(4.x) (06:36)
7-30 [Collection类型] 数组的方法reduce()(4.x) (05:58)
7-31 [Collection类型] 数组的方法split()(上)(4.x) (08:35)
7-32 [Collection类型] 数组的方法split()(下)(4.x) (04:25)
7-33 [Collection类型] 数组的方法reversed()(4.x) (04:17)
7-34 [Collection类型] 集合变量和常量的声明及初始化(上)(4.x) (11:22)
7-35 [Collection类型] 集合变量和常量的声明及初始化(下)(4.x) (07:08)
7-36 [Collection类型] 集合中元素的索引(上)(4.x) (07:02)
7-37 [Collection类型] 集合中元素的索引(下)(4.x) (04:30)
7-38 [Collection类型] 集合的“查”操作(上)(4.x) (07:38)
7-39 [Collection类型] 集合的“查”操作(下)(4.x) (07:52)
7-40 [Collection类型] 集合的“改”操作(4.x) (01:29)
7-41 [Collection类型] 集合的“增”操作(4.x) (03:54)
7-42 [Collection类型] 集合的“删”操作(上)(4.x) (06:30)
7-43 [Collection类型] 集合的“删”操作(下)(4.x) (08:21)
7-44 [Collection类型] 集合的遍历(4.x) (09:40)
7-45 [Collection类型] 集合的相等性比较(4.x) (04:23)
7-46 [Collection类型] 集合是值类型(4.x) (05:04)
7-47 [Collection类型] 集合和数组的相互转化(4.x) (03:55)
7-48 [Collection类型] 集合间的关系(4.x) (10:23)
7-49 [Collection类型] 集合间的操作(上)(4.x) (07:10)
7-50 [Collection类型] 集合间的操作(下)(4.x) (07:22)
7-51 [Collection类型] 集合的常见方法(上)(4.x) (05:23)
7-52 [Collection类型] 集合的常见方法(下)(4.x) (06:28)
7-53 [Collection类型] 哈希表(4.x) (08:33)
7-54 [Collection类型] 集合元素的类型必须遵守协议Hashable(4.x) (07:28)
7-55 [Collection类型] 字典变量和常量的声明及初始化(上)(4.x) (05:46)
7-56 [Collection类型] 字典变量和常量的声明及初始化(中)(4.x) (10:31)
7-57 [Collection类型] 字典变量和常量的声明及初始化(下)(4.x) (08:16)
7-58 [Collection类型] 字典中元素的索引(4.x) (10:39)
7-59 [Collection类型] 字典的“查”操作(上)(4.x) (05:36)
7-60 [Collection类型] 字典的“查”操作(中)(4.x) (11:27)
7-61 [Collection类型] 字典的“查”操作(下)(4.x) (08:11)
7-62 [Collection类型] 字典的“改”操作(4.x) (07:47)
7-63 [Collection类型] 字典的“增”操作(4.x) (07:03)
7-64 [Collection类型] 字典的“删”操作(上)(4.x) (05:19)
7-65 [Collection类型] 字典的“删”操作(中)(4.x) (05:52)
7-66 [Collection类型] 字典的“删”操作(下)(4.x) (07:39)
7-67 [Collection类型] 字典的遍历(上)(4.x) (06:07)
7-68 [Collection类型] 字典的遍历(下)(4.x) (09:22)
7-69 [Collection类型] 字典是值类型(4.x) (07:30)
7-70 [Collection类型] 字典的常见方法(4.x) (11:38)
7-71 [Collection类型] 字典元素的key的类型必须遵守协议Hashable(4.x) (08:59)
8-1 [流程控制] 流程结构的概述(4.x) (03:10)
8-2 [流程控制] 顺序结构(4.x) (03:46)
8-3 [流程控制] 选择结构的概述(4.x) (03:35)
8-4 [流程控制] if语句(上)(4.x) (10:34)
8-5 [流程控制] if语句(下)(4.x) (09:52)
8-6 [流程控制] guard语句(4.x) (11:06)
8-7 [流程控制] switch语句(上)(4.x) (08:00)
8-8 [流程控制] switch语句(中)(4.x) (07:57)
8-9 [流程控制] switch语句(下)(4.x) (12:37)
8-10 [流程控制] switch语句的模式匹配(4.x) (06:17)
8-11 [流程控制] switch语句的区间匹配(4.x) (08:23)
8-12 [流程控制] switch语句的元组匹配(上)(4.x) (06:32)
8-13 [流程控制] switch语句的元组匹配(下)(4.x) (11:07)
8-14 [流程控制] switch语句的值绑定(上)(4.x) (07:29)
8-15 [流程控制] switch语句的值绑定(下)(4.x) (09:15)
8-16 [流程控制] 循环结构的概述(4.x) (02:54)
8-17 [流程控制] for-in语句(上)(4.x) (05:32)
8-18 [流程控制] for-in语句(下)(4.x) (09:34)
8-19 [流程控制] while语句(上)(4.x) (10:48)
8-20 [流程控制] while语句(下)(4.x) (07:36)
8-21 [流程控制] repeat-while语句(4.x) (08:41)
8-22 [流程控制] 嵌套循环(4.x) (06:43)
8-23 [流程控制] break和continue(4.x) (09:33)
9-1 [函数] 函数的概述(4.x) (07:12)
9-2 [函数] 函数的定义和调用(上)(4.x) (09:56)
9-3 [函数] 函数的定义和调用(中)(4.x) (05:28)
9-4 [函数] 函数的定义和调用(下)(4.x) (09:25)
9-5 [函数] 函数的多个返回值(上)(4.x) (06:33)
9-6 [函数] 函数的多个返回值(下)(4.x) (06:53)
9-7 [函数] 函数的常量形参(4.x) (04:28)
9-8 [函数] 函数的形参标签(上)(4.x) (05:35)
9-9 [函数] 函数的形参标签(下)(4.x) (09:45)
9-10 [函数] 函数形参的默认值(4.x) (08:14)
9-11 [函数] 函数的个数可变的形参(上)(4.x) (08:26)
9-12 [函数] 函数的个数可变的形参(下)(4.x) (07:10)
9-13 [函数] 函数的In-Out形参(上)(4.x) (06:28)
9-14 [函数] 函数的In-Out形参(中)(4.x) (08:39)
9-15 [函数] 函数的In-Out形参(下)(4.x) (08:29)
9-16 [函数] 函数类型(4.x) (12:21)
9-17 [函数] 重载函数(4.x) (09:26)
9-18 [函数] 嵌套函数(4.x) (06:19)
10-1 [闭包] 闭包的概述(4.x) (02:03)
10-2 [闭包] 闭包表达式(上)(4.x) (06:31)
10-3 [闭包] 闭包表达式(下)(4.x) (10:49)
10-4 [闭包] 闭包表达式的简化_省略关键字return(4.x) (04:18)
10-5 [闭包] 闭包表达式的简化_省略形参的类型和返回值的类型(4.x) (07:46)
10-6 [闭包] 闭包表达式的简化_省略形参名(4.x) (07:32)
10-7 [闭包] 尾随闭包(4.x) (09:40)
10-8 [闭包] 自动闭包(4.x) (08:10)
11-1 [枚举] 枚举的概述(4.x) (02:10)
11-2 [枚举] 定义枚举(4.x) (09:52)
11-3 [枚举] 枚举值在switch语句中的匹配(4.x) (05:28)
11-4 [枚举] 枚举值的原始值(上)(4.x) (05:07)
11-5 [枚举] 枚举值的原始值(下)(4.x) (10:54)
11-6 [枚举] 枚举值的相关值(4.x) (11:52)
12-1 [类和结构体] 类和结构体的概述(上)(4.x) (07:09)
12-2 [类和结构体] 类和结构体的概述(下)(4.x) (07:48)
12-3 [类和结构体] 结构体的基本用法(4.x) (02:39)
12-4 [类和结构体] 类的基本用法(4.x) (09:02)
12-5 [类和结构体] 类是引用类型(4.x) (06:43)
12-6 [类和结构体] 结构体是值类型(4.x) (03:21)
12-7 [类和结构体] 运算符===和!==(4.x) (05:33)
13-1 [属性] 属性的概述(4.x) (09:26)
13-2 [属性] 结构体的实例存储属性(4.x) (06:39)
13-3 [属性] 类的实例存储属性(4.x) (02:27)
13-4 [属性] 结构体和类的懒实例存储属性(上)(4.x) (05:38)
13-5 [属性] 结构体和类的懒实例存储属性(中)(4.x) (10:49)
13-6 [属性] 结构体和类的懒实例存储属性(下)(4.x) (05:19)
13-7 [属性] 结构体的实例计算属性(上)(4.x) (07:15)
13-8 [属性] 结构体的实例计算属性(下)(4.x) (07:37)
13-9 [属性] 类的实例计算属性(4.x) (01:50)
13-10 [属性] 枚举的实例计算属性(4.x) (02:19)
13-11 [属性] 结构体的类型存储属性(4.x) (03:42)
13-12 [属性] 类的类型存储属性(4.x) (01:05)
13-13 [属性] 枚举的类型存储属性(4.x) (01:30)
13-14 [属性] 结构体的类型计算属性(4.x) (05:36)
13-15 [属性] 类的类型计算属性(4.x) (04:41)
13-16 [属性] 枚举的类型计算属性(4.x) (01:12)
13-17 [属性] 结构体的属性观察器(4.x) (10:29)
13-18 [属性] 类的属性观察器(4.x) (07:00)
13-19 [属性] 枚举的属性观察器(4.x) (02:16)
14-1 [方法] 方法的概述(4.x) (02:08)
14-2 [方法] 结构体的实例方法的基本用法(4.x) (02:31)
14-3 [方法] 类的实例方法的基本用法(4.x) (01:18)
14-4 [方法] 枚举的实例方法的基本用法(4.x) (01:30)
14-5 [方法] 结构体实例的self属性(4.x) (10:08)
14-6 [方法] 类实例的self属性(4.x) (02:12)
14-7 [方法] 枚举实例的self属性(4.x) (03:37)
14-8 [方法] 在结构体的实例方法中修改实例属性(4.x) (06:18)
14-9 [方法] 在枚举的实例方法中修改实例属性(4.x) (02:10)
14-10 [方法] 结构体mutating实例方法中给self赋新实例(4.x) (03:37)
14-11 [方法] 枚举mutating实例方法中给self赋值新实例(4.x) (03:07)
14-12 [方法] 结构体的类型方法的基本用法(4.x) (03:08)
14-13 [方法] 类的类型方法的基本用法(4.x) (01:28)
14-14 [方法] 枚举的类型方法的基本用法(4.x) (01:32)
14-15 [方法] 结构体类型的self属性(4.x) (09:24)
14-16 [方法] 类类型的self属性(4.x) (01:48)
14-17 [方法] 枚举类型的self属性(4.x) (01:51)
15-1 [下标] 下标的概述(4.x) (02:33)
15-2 [下标] 结构体的下标的基本用法(4.x) (09:01)
15-3 [下标] 类的下标的基本用法(4.x) (01:22)
15-4 [下标] 枚举的下标的基本用法(4.x) (01:35)
16-1 [继承] 继承的概述(4.x) (05:00)
16-2 [继承] 子类继承父类的属性、方法和下标(4.x) (10:41)
16-3 [继承] 子类重写父类的属性(4.x) (09:38)
16-4 [继承] 子类重写父类的下标(4.x) (06:55)
16-5 [继承] 子类重写父类的方法(4.x) (06:45)
16-6 [继承] 禁止继承和禁止重写(4.x) (06:25)
17-1 [构造器] 构造器的概述(4.x) (02:37)
17-2 [构造器] 结构体的自定义构造器的基本用法(4.x) (04:21)
17-3 [构造器] 类的自定义构造器的基本用法(4.x) (01:08)
17-4 [构造器] 枚举的自定义构造器的基本用法(4.x) (02:29)
17-5 [构造器] 结构体的自定义构造器的重载(4.x) (08:32)
17-6 [构造器] 类的自定义构造器的重载(4.x) (01:36)
17-7 [构造器] 枚举的自定义构造器的重载(4.x) (03:47)
17-8 [构造器] 结构体的自定义构造器的委托(4.x) (05:48)
17-9 [构造器] 枚举的自定义构造器的委托(4.x) (02:23)
17-10 [构造器] 结构体的默认构造器(上)(4.x) (06:52)
17-11 [构造器] 结构体的默认构造器(中)(4.x) (06:19)
17-12 [构造器] 结构体的默认构造器(下)(4.x) (04:59)
17-13 [构造器] 类的默认构造器(4.x) (01:44)
17-14 [构造器] 设置结构体的存储属性的初始值(上)(4.x) (09:17)
17-15 [构造器] 设置结构体的存储属性的初始值(中)(4.x) (05:01)
17-16 [构造器] 设置结构体的存储属性的初始值(下)(4.x) (05:25)
17-17 [构造器] 设置类的存储属性的初始值(4.x) (02:38)
17-18 [构造器] 设置枚举的存储属性的初始值(4.x) (04:15)
17-19 [构造器] 全局函数或闭包为结构体的存储属性设置默认值(上)(4.x) (08:48)
17-20 [构造器] 全局函数或闭包为结构体的存储属性设置默认值(4.x) (04:22)
18-1 [析构器] 析构的概述(4.x) (03:13)
18-2 [析构器] 析构器(4.x) (10:40)
19-1 [可选链] 可选链的概述(4.x) (09:21)
19-2 [可选链] 通过可选链访问属性(4.x) (07:31)
19-3 [可选链] 使用可选链调用方法(4.x) (06:21)
20-1 [类型转换] 类型转换的概述(4.x) (04:53)
20-2 [类型转换] 使用运算符is进行类型检查(4.x) (08:35)
20-3 [类型转换] 使用运算符as进行类型转换(4.x) (10:20)
21-1 [扩展] 扩展的概述(4.x) (04:39)
21-2 [扩展] 使用扩展添加属性(4.x) (08:21)
21-3 [扩展] 使用扩展添加方法(4.x) (08:59)
21-4 [扩展] 使用扩展添加下标(4.x) (03:02)
21-5 [扩展] 使用扩展添加嵌套类型(4.x) (05:03)
21-6 [扩展] 使用扩展添加构造器(4.x) (04:50)
22-1 [协议] 协议的概述 (06:58)
22-2 [协议] 协议的属性要求 (08:07)
22-3 [协议] 协议的方法要求 (05:44)
22-4 [协议] 协议的下标要求 (04:54)
22-5 [协议] 协议的构造器要求 (02:38)
23-1 [经典趣味问题] 百钱买百鸡 (15:20)
23-2 [经典趣味问题] 猴子吃桃 (13:17)
23-3 [经典趣味问题] 水仙花数 (15:23)
23-4 [经典趣味问题] zui大公约数和zui小公倍数 (24:05)
23-5 [经典趣味问题] 杨辉三角 (19:18)
23-6 [经典趣味问题] 汉诺塔 (24:37)
23-7 [经典趣味问题] 角谷猜想 (13:08)
23-8 [经典趣味问题] 自守数 (09:35)
23-9 [经典趣味问题] 舍罕王赏麦 (10:07)
23-10 [经典趣味问题] 约瑟夫环 (37:33)
23-11 [经典趣味问题] 兔子繁殖 (14:21)
23-12 [经典趣味问题] 寻找假币 (33:30)
23-13 [经典趣味问题] 回文数 (38:21)
23-14 [经典趣味问题] 质数(素数) (05:40)
23-15 [经典趣味问题] 哥德巴赫猜想 (08:04)
23-16 [经典趣味问题] 阶乘及阶乘和数 (14:30)
23-17 [经典趣味问题] 尾数前移 (08:08)
23-18 [经典趣味问题] 数制转换 (37:41)
23-19 [经典趣味问题] 数字魔术 (09:24)
23-20 [经典趣味问题] 鸡兔同笼 (07:53)
23-21 [经典趣味问题] 谁家孩子跑得zui慢 (20:45)
23-22 [经典趣味问题] 梅森尼数 (07:07)
23-23 [经典趣味问题] 个人所得税 (31:10)
23-24 [经典趣味问题] 勾股数 (20:57)
23-25 [经典趣味问题] 分数化小数 (22:19)
23-26 [经典趣味问题] 求解分数不等式 (08:01)
23-27 [经典趣味问题] 不重复的三位数 (08:04)
23-28 [经典趣味问题] 谁在说谎 (10:54)
23-29 [经典趣味问题] 谁是小偷 (16:46)