Swift实战课程-从理论到实践,快速掌握Swift开发

由于Swift 相对于 Objective-C 在开发范式上仍然会有较大的区别,所以初学者编程思维转变较为困难。另外,Swift 从发布到现在经历了五个大版本,十几个小版本的迭代,语法和语言特性也在不断变更,导致网上很多学习资料良莠不齐。

本课程基于 Swift5.0版本进行讲解,除了Swift基础语法及新特性、与Objective-C的异同等基础知识点,课程还涉及多线程编程、Swift与Objective-C混合编程、SwiftUI、常用第三方库等更贴合实战场景等知识点。最后,我们会通过一个商场实战项目,将课程关键知识点串联起来,帮你完成从Objective-C 开发者到 Swift 开发者的平滑过渡。

资源目录

第一章:Swift简介 (7讲)

01 | 课程介绍

02 | 内容综述

03 | Swift版本历史和各版本特性快览

04 | Swift和Objective-C的主要区别

05 | swiftc:强大的命令行工具

06 | REPL:Swift交互式解释器

07 | Playground:Swift学习的乐园

第二章:基本数据类型 (9讲)

08 | 如何在Swift中定义常量和变量

09 | Swift中的数值类型

10 | 如何使用Tuple组合多个值

11 | 如何在Swift中使用Optional

12 | Optional实现原理探究

13 | 如何在Swift中创建和初始化字符串

14 | Swift字符串的常见操作

15 | 如何使用索引访问和修改字符串

16 | 如何在Swift中获取子串和进行字符串比较

第三章:运算符 (10讲)

17 | 赋值和算数运算符

18 | 在Swift里如何处理算术结果溢出

19 | 为了Optional:合并空值运算符

20 | Swift的新宠:区间运算符

21 | 强大的位运算符

22 | 位运算符应用举例(1)

23 | 位运算符应用举例(2)

24 | 运算符优先级和结合性

25 | 如何为类和结构体自定义运算符实现

26 | 如在Swift中定义自己的运算符

第四章:流程控制 (5讲)

27 | 如何在Swift里进行循环控制

28 | 更加强大的switch

29 | 如何在Swift里进行控制转移

30 | 如何使用guard来改善你的条件判断

31 | Swift中的模式和模式匹配

第五章:集合类 (17讲)

32 | 在Swift中创建数组的N种方式

33 | 访问和操作数组:遍历和索引

34 | 访问和操作数组:查找操作

35 | 访问和操作数组:添加和删除

36 | 访问和操作数组:ArraySlice

37 | 访问和操作数组:重排操作

38丨访问和操作数组:拼接操作

39丨深入理解数组:底层实现探究

40丨如何用数组来实现栈和队列

41丨Set:定义和创建

42丨Set:访问和修改

43丨Set:执行Set计算和判断

44 | 实现自己的集合算法

45 | 深入理解集合:底层实现探究

46 | Dictionary:Swift中的字典类型

47 | 字典的常见操作

48 | 深入理解字典:底层实现探究

第六章:函数和闭包 (9讲)

49 | Swift中如何定义和使用函数

50 | 函数的形式参数和返回值

51 | 函数类型和内嵌函数

52 | 闭包和闭包表达式

53 | 闭包捕获值

54 | 逃逸闭包和自动闭包

55 | 如何使用Swift中的高阶函数

56 | 函数式编程(1)

57 | 函数式编程(2)

第七章:面向对象编程 (13讲)

58 | Swift面向对象概述

59 | 枚举从此站起来了

60 | 如何为类、结构体以及枚举添加属性

61 | 如何为类、结构体以及枚举添加方法

62 | 像访问数组和字典一样访问类和结构体:下标和下标重载

63 | 如何进行类的初始化和反初始化

64 | 如何在Swift中实现继承

65 | 如何在Swift中实现多态和进行类型转换

66 | 如何为现有的类、结构体、枚举或协议添加新功能

67丨Swift中的协议

68丨协议和扩展

69丨面向协议编程初探(1)

70丨面向协议编程初探(2)

第八章:泛型 (8讲)

71丨泛型的发展历史与泛型的概述

72丨如何在Swift中定义泛型函数

73丨如何在Swift中定义泛型类型

74丨Swift泛型中的类型约束

75 | 为了协议:关联类型

76 | 如何为泛型定义要求:where字句

77 | 泛型下标

78丨泛型编程思想浅谈

第九章:多线程 (9讲)

79 | 如何在Swift中创建一个线程

80 | 更高级的抽象:Cocoa Operation

81丨多线程编程新思路:GCD概览

82 | 如何使用GCD:基本操作指南

83 | 深度使用GCD:高级特性指南

84 | 深入理解GCD:源码剖析

85 | 如何保证线程安全和同步

86 | 实践出真知:多线程典型应用场景分析

87 | 拓宽思路:其他常见的多线程编程模式

第十章:SwiftUI (5讲)

88 | SwiftUI:Apple全新的UI框架

89 | SwiftUI设计工具使用指南

90 | 如何使用SwiftUI构建可复用的组件

91 | 如何用SwiftUI实现动画

92 | 深入理解SwiftUI:实现原理探秘

第十一章:其他话题 (5讲)

93 | 如何在Swift里进行错误处理

94 | Swift中代码访问权限控制

95 | 不透明类型

96 | Swift中的自动引用计数

97 | Swift中的内存安全性

第十二章:第三方库 (7讲)

98 | 如何在项目中进行网络请求

99 | 如何进行JSON的序列化和反序列化

100 | 没有最方便,只有更方便:对Swift标准库的一些扩展

101 | 如何在Swift中进行自动布局

102 | 如何进行图片加载和缓存

103 | 以一种优雅安全的方式使用资源文件

104 | 如何在项目中将内容分享到社交平台

第十三章:Swift和Objective-C混合编程 (4讲)

105 | Swift和Objective-C的运行时简介

106 | 桥接问题

107 | 如何在Swift和Objective-C中相互调用

108 | Swift和Objective-C混合编程踩坑指南

第十四章:实战开发 (12讲)

109 | 如何搭建一个iOS Swift工程

110 | 商城整体架构、UI设计和模块拆分

111 | 编写mock API

112 | 登录注册页模块开发

113 | 商城列表页模块开发

114 | 商城详情页模块开发

115 | 商城个人中心页模块开发

116 | 商城订单页模块开发

117 | 结束语

118|加餐1:可选链

119|加餐2:Swift KVC

120|加餐3:Swift面试中的要点注意事项&结课测试

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注