课程目录
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)





