你将获得
- 掌握 Swift 5 基础语法和新特性;
- 理解 Swift 多线程编程等难点;
- 学会和 Objective-C 进行混合编程;
- 熟练使用 Swift 开发 iOS 应用。
课程介绍
随着 Swift 5.0 的发布,ABI 的稳定,“苹果什么时候开始锁定 Objective-C 的 SDK,不再为它增加新的 API?什么时候开始用 Swift 特性更新现有的 Objective-C SDK?”这些都成为了可以想象的事情。各个公司用 Swift 完全替代 Objective-C 的趋势越来越明显。
由于 Swift 相对于 Objective-C 在开发范式上仍然会有较大的区别,所以初学者编程思维转变较为困难。另外,Swift 从发布到现在经历了五个大版本,十几个小版本的迭代,语法和语言特性也在不断变更,导致网上很多学习资料良莠不齐。
因此,极客时间联合美团点评高级技术专家张杰老师一起开设了这门课程。本课程基于 Swift5.0 版本进行讲解,除了 Swift 基础语法及新特性、与 Objective-C 的异同等基础知识点,课程还涉及多线程编程、Swift 与 Objective-C 混合编程、SwiftUI、常用第三方库等更贴合实战场景等知识点。最后,我们会通过一个商场实战项目,将课程关键知识点串联起来,帮你完成从 Objective-C 开发者到 Swift 开发者的平滑过渡。
课程目录
01-课程介绍【辣椒课堂www.lajiaokt.com] .ts
02-内容综述【辣椒课堂www.lajiaokt.com].ts
03-Swift版本历史和各版本特性快览【辣椒课堂www.lajiaokt.com].ts
04-Swift和Objective-C的主要区别[辣椒课堂www.lajiaokt.com] .ts
05-swiftc:强大的命令行工具【辣椒课堂www.lajiaokt.com].ts
06-REPL: Swift交互式解释器【辣椒课堂www.lajiaokt.com].ts
07-Playground: Swift学习的乐园【辣椒课堂www.lajiaokt.com].ts
08-如何在Swift中定义常量和变量【辣椒课堂www.lajiaokt.com] .ts
09-Swift中的数值类型【辣椒课堂www.lajiaokt.com].ts
10-如何使用Tuple组合多个值【辣椒课堂www.lajiaokt.com] .ts
11-如何在Swift中使用Optional 【辣椒课堂www.lajiaokt.com].ts
12-Optional实现原理探究【辣椒课堂www.lajiaokt.com].ts
13-如何在Swift中创建和初始化字符串【辣椒课堂www.lajiaokt.com].ts
14-Swift字符串的常见操作【辣椒课堂www.lajiaokt.com] .ts
15-如何使用素引访问和修改字符串【辣椒课堂www.lajiaokt.com].ts
16-如何在Swift中获取子串和进行字符串比较【辣椒课堂www.lajiaokt.com] .ts
17-赋值和算数运算符【辣椒课堂www.lajiaokt.com] .ts
18-在Swift里如何处理算术结果溢出【辣椒课堂www.lajiaokt.com] .ts
19-为了Optional:合并空值运算符【辣椒课堂www.lajiaokt.com].ts
20-Swift的新宠:区间运算符【辣椒课堂www.lajiaokt.com] .ts
21-强大的位运算符【辣椒课堂www.lajiaokt.com】,ts
22-位运算符应用举例(1)【辣椒课堂www.lajiaokt.com】ts
23-位运算符应用举例(2)【球椒课堂www.lajiaokt.com】ts
24-运算符优先级和结合性【辣椒课堂www.lajiaokt.com】ts
25-如何为类和结构体自定义运算符实现[辣椒课堂www.lajiaokt.com】,ts
26-如在Swit中定义自己的运算符【辣椒课堂www.lajiaokt.com】ts
27-如何在Swit里进行循环控制[辣椒课堂www.lajiaokt.com】ts
28-更加强大的switch[辣椒课堂www.lajiaokt.com】ts
29-如何在Swit里进行控制转移[辣椒课堂www.lajiaokt.com】ts
30-如何使用guard:来改善你的条件判断【辣椒课堂www.lajiaokt.com】ts
31-Swit中的模式和模式匹配[辣椒课堂www.ajiaokt.com】ts
32-在Swit中创建数组的N种方式【辣椒课堂www.lajiaokt.com)】ts
33-访问和操作数组:遍历和索引【辣椒课堂www.lajiaokt.com】ts
34-访问和操作数组:查找操作[辣椒课堂www.lajiaokt.com】ts
35-访问和操作数组:透加和除【辣椒课堂www.lajiaokt.com】ts
36-访问和操作数组:ArraySlice[球椒课堂www.lajiaokt.com】ts
37-访问和操作数组:重排操作【辣椒课堂www.lajiaokt.com】ts
38l访问和操作数组:拼接操作【辣椒课堂www.lajiaokt.com】ts
39|深入理解数组:底层实现探究【辣椒课堂www.lajiaokt.com】ts
40|如何用数组来实现栈和队列【辣椒课堂www.lajiaokt.com】ts
41|Set:定义和创建【辣椒课堂www.lajiaokt.com】ts
42|Set:访问和修改【球椒课堂www,lajiaokt.com】ts
43|Set:执行Set计算和判断[辣椒课堂www.lajiaokt.com】ts
44-实现自己的集合算法【辣椒课堂www.lajiaokt.com】ts
45-深入理解集合:底层实现探究[辣椒课堂www.lajiaokt.com】ts
46-Dictionary:Swit中的字典类型【球椒课堂www.lajiaokt.com】ts
47-字典的常见操作[辣椒课堂www.lajiaokt.com】ts
48-深入理解字典:底层实现探究【辣椒课堂www.lajiaokt.com】ts
49-Swit中如何定义和使用函数【辣椒课堂www.lajiaokt.com】ts
50-函数的形式参数和返回值[辣椒课堂www.lajiaokt.com】ts
51-函数类型和内嵌函数[辣椒课堂www.lajiaokt.com】ts
52-闭包和闭包表达式【辣椒课堂www.lajiaokt.com】ts
53-闭包捕获值【辣椒课堂www.lajiaokt.com】ts
54-逃逸闭包和自动闭包[辣椒课堂www.lajiaokt.com】ts
55-如何使用Swit中的高阶函数【辣椒课堂www.lajiaokt.com】ts
56-函数式编程(1)【辣椒课堂www.lajiaokt.com】ts
57-函数式编程(2)【辣椒课堂www.lajiaokt.com】ts
58-Swit面向对象概述[辣椒课堂www.lajiaokt.com】ts
59-枚举从此站起来了【辣椒课堂www.lajiaokt.com】ts
60-如何为类、结构体以及枚举添加属性【辣椒课堂www.lajiaokt.com】ts
61-如何为类、结构体以及枚举添加方法【辣椒课堂www.lajiaokt.com] .ts
62-像访问数组和字典一样访问类和结构体:下标和下标重载【辣椒课堂www.lajiaokt.com].ts
63-如何进行类的初始化和反初始化【辣椒课堂www.lajiaokt.com].ts
64-如何在Swift中实现继承【辣椒课堂www.lajiaokt.com] .ts
65-如何在Swift中实现多态和进行类型转换【辣椒课堂www.lajiaokt.com].ts
66-如何为现有的类、结构体、枚举或协议添加新功能【辣椒课堂www.lajiaokt.com].ts
67 | Swift中的协议 【辣椒课堂www.lajiaokt.com] .ts
68|协议和扩展【辣椒课堂www.lajiaokt.com] .ts
69|面向协议编程初探(1) 【辣椒课堂www.lajiaokt.com] .ts
701面向协议编程初探(2) 【辣椒课堂www.lajiaokt.com] .ts
71 1泛型的发展历史与泛型的概述【辣椒课堂www.lajiaokt.com].ts
721如何在Swift中定义泛型函数【辣椒课堂www.lajiaokt.com] .ts
73 1如何在Swift中定义泛型类型【辣椒课堂www.lajiaokt.com] .ts
74 | Swift泛型中的类型约束【辣椒课堂www.lajiaokt.com].ts
75-为了协议:关联类型【辣椒课堂www.lajiaokt.com] .ts
76-如何为泛型定义要求: where字句【辣椒课堂www.lajiaokt.com].ts
77-泛型下标【辣椒课堂www.lajiaokt.com] .ts
78 1泛型编程思想浅谈【辣椒课堂www.lajiaokt.com] .ts
79-如何在Swift中创建一个线程【辣椒课堂www.lajiaokt.com] .ts
80-更高级的抽象: CocoaOperation 【辣椒课堂www.lajiaokt.com] .ts
81|多线程编程新思路:GCD概览【辣椒课堂www.lajiaokt.com】,ts
82-如何使用GCD:基本操作指南[辣椒课堂www.lajiaokt.com】ts
83-深度使用GCD:高级特性指南【辣椒课堂www.lajiaokt.com】ts
84-深入理解GCD:源码剖析[辣椒课堂www.lajiaokt.com】ts
85-如何保证线程安全和同步【辣椒课堂www.lajiaokt,com】ts
86-实践出真知:多线程典型应用场景分析【辣椒课堂www.lajiaokt.com】ts
87-拓宽思路:其他常见的多线程编程模式【辣椒课堂www.lajiaokt.com】ts
88-SwiftUl:Apple全新的Ul框架【辣椒课堂www.lajiaokt.com】ts
89-SwiftU设计工具使用指南【辣椒课堂www.lajiaokt.com】ts
90-如何使用SwiftUl构建可复用的组件【辣椒课堂www.lajiaokt.com】ts
91-如何用SwiftUl实现动画【辣椒课堂www.lajiaokt.com】ts
92-深入理解SwiftUl:实现原理探秘[辣椒课堂www.lajiaokt.com】ts
93-如何在Swit里进行错误处理【辣椒课堂www.lajiaokt..com】ts
94-Swit中代码访问权限控制【辣椒课堂www.lajiaokt.com】ts
95-不适明类型【辣椒课堂www.lajiaokt.com】ts
96-Swift中的自动l用计数【辣椒课堂www.lajiaokt.com】ts
g7-Swit中的内存安全性【辣椒课堂www.lajiaokt.com】ts
98-如何在项目中进行网络请求【辣椒课堂www.lajiaokt.com】ts
99-如何进行)SON的序列化和反序例化【辣椒课堂www.lajiaokt.com】ts
1O0-没有最方便,只有更方便:对Swit标准库的一些扩展【辣椒课堂www.lajiaokt.com】,ts
101-如何在Swift中进行自动布局【辣椒课堂www.lajiaokt.com] .ts
102-如何进行图片加载和缓存【辣椒课堂www.lajiaokt.com] .ts
103-以一种优雅安全的方式使用资源文件【辣椒课堂www.lajiaokt.com].ts
104-如何在项目中将内容分享到社交平台【辣椒课堂www.lajiaokt.com].ts
105-Swift和Objective-C的运行时简介【辣椒课堂www.lajiaokt.com] .ts
106-桥接问题【辣椒课堂www.lajiaokt.com] .ts
107-如何在Swift和Objective-C中相互调用【辣椒课堂www.lajiaokt.com].ts
108-Swift和Objective-C混合编程踩坑指南【辣椒课堂www.lajiaokt.com].ts
109-如何搭建一个ioSSwift工程【辣椒课堂www.lajiaokt.com] .ts
110-商城整体架构、U设计和模块拆分【辣椒课堂www.lajiaokt.com] .ts
111-编写mockAPl 【辣椒课堂www.lajiaokt.com].ts
112-登录注册页模块开发【辣椒课堂www.lajiaokt.com] .ts
113-商城列表页模块开发【辣椒课堂www.lajiaokt.com] .ts
114-商城详情页模块开发【辣椒课堂www.lajiaokt.com].ts
115-商城个人中心页模块开发【辣椒课堂www.lajiaokt.com].ts
116-商城订单页模块开发【辣椒课堂www.lajiaokt.com].ts
117-结束语【辣椒课堂www.lajiaokt.com].ts
118 |加餐1: 可选链 【辣椒课堂www.lajiaokt.com].ts
119 |加餐2: SwiftKVc 【辣椒课堂www.lajiaokt.com] .ts
120 |加餐3: Swift面试中的要点注意事项&结课测试【辣椒课堂www.lajiaokt.com] .ts
评论0