iOS开发中的神兵利器 [2021版]

包含306节超多互动教程,基于最新的iOS 14 + Xcode 12 + Swift 5。

手把手讲解大量实用的开源类库:BonMot、PKHUD、DZNEmptyDataSet、Alamofire、Moya、Promise、Kingfisher、SnapKit、组件化编程、RxSwift响应式编程、Lottie动画、Hero转场动画、app主题更换、强大的幻灯片、GPUImage图像视频处理、Realm数据库、二维码创建和读取、模拟网络fake数据、自动化压力测试。

手把手学习iOS开发中的强大的第三方类库,详细讲解Github中的热门的iOS开发开源项目。助您快速、优雅地解决iOS开发中棘手的业务需求!

《iOS开发中的神兵利器》课程简介视频

您的学习进度
订阅用户可随时查看学习进度~
课程列表

第一章:iOS开发超级控件

1. CocoaPods的安装以及ActiveLabel的使用
2. 给UILabel文字中的tag和url添加点击事件
3. 使用BonMot创建漂亮的富文本
4. 通过XML更加自由的创建复杂的富文本
5. 通过composed进行多个富文本的拼接
6. 使用PasswordTextField创建带切换Icon的密码文本框
7. 使用EZLoadingActivity快速创建Loading加载动画
8. 使用UICircularProgressRing制作漂亮的环形进度条
9. 使用CHIPageControl创建很酷的动画页码控件
10. 使用Toaster创建简短提示小窗口
11. 使用PKHUD制作各种动态提示效果
12. 使用SweetAlert制作漂亮的Alert窗口一
13. 使用SweetAlert制作漂亮的Alert窗口二
14. 使用SCLAlertView制作强大的Alert和Input窗口
15. 通过初始化外观样式类对窗口的样式进行设置
16. 通过XLActionController创建不同风格的动作表单
17. 继续创建Periscope-Spotify-Skype风格的动作表单
18. 通过CVCalendar创建漂亮的日历一
19. 通过CVCalendar创建漂亮的日历二
20. 使用CalendarKit快速实现iOS日历app
21. 使用CalendarKit快速实现iOS日历app二
22. 使用DateTimePicker制作强大又灵活的日期时间拾取器
23. 使用FaceAware使图片头像自动位于图像视图焦点位置

第二章:第三方表格和表单控件

1. 创建自定义的UITableViewCell
2. 创建右侧带有索引的UITableView
3. 在表格中嵌套另一个表格并使Cell的高度自适应
4. 完成表中表效果的制作
5. 使用自带的刷新控件实现表格的下拉刷新
6. 使用DGElasticPullToRefresh创建漂亮的弹性下拉刷新
7. 使用MGSwipeTableCell给单元格添加功能按钮一
8. 使用MGSwipeTableCell给单元格添加功能按钮二
9. 使用AMScrollingNavbar制作可跟随滚动的导航栏一
10. 使用AMScrollingNavbar制作可跟随滚动的导航栏二
11. 使用DZNEmptyDataSet美化空数据的列表
12. 使用自定义内容替换空白的表格
13. 使用SwiftValidator快速实现表单的输入验证
14. 使用Eureka快速创建美观强大的表单
15. 快速添加Date, Check, Switch, Slider, Stepper表单
16. 分段控件在表单中的应用
17. 如何在表单中使用动作表单
18. 如何在表单中实现地理坐标和相册的拾取
19. 如何在表单中嵌入网址、手机号码、邮箱等类型的表单行
20. 如何创建一个星期表单
21. 如何调整文字的对齐方式以及自适应高度的文本区域
22. 如何显示或隐藏指定的表单区域
23. 如何启用或使表单的区域失效
24. 如何设置表单中的输入内容的格式
25. 如何在表单中嵌入拾取器
26. 如何制作具有单选和多选功能的表单行
27. 表单在提交时的数据验证
28. 如何在表单行的下方显示检验错误信息

第三章:手势和图表

1. 如何监听屏幕上触摸事件的各种状态
2. 通过对触摸事件的监测创建可随意拖动的图像视图
3. 通过捏合手势实现图像视图的放大和缩小
4. 3D Touch功能在项目中的应用
5. 使用Charts创建一个带有标题/图例/坐标轴的柱形图表
6. 创建一个包含三条折线的线性图表
7. 创建一个饼形图表并导出图表为PNG图片
8. 制作一份股市中常用的蜡烛图表
9. 制作一份漂亮的不同色彩标识的气泡图表
10. 创建一个包含圆点/方形/三角形图标的散点图表
11. 使用雷达图表形象表达企业各个维度的运营状况
12. 创建一份包含线性图表和柱形图表的复合图表
13. 使用ScrollableGraphView创建漂亮的折线图表
14. 创建一份暗调、平滑、可滚动的面积图
15. 创建一份暗调主题的柱形图表
16. 制作一份非常漂亮的蓝色散点图表

第四章:网络和线程

1. 通过售书场景讲解线程的锁和解锁
2. 通过BlockOperation实现线程的队列
3. 使用DispatchGroup对线程进行分组管理
4. 使用Alamofire实现网络请求
5. 如何解析由服务器返回的字符串、二进制数据
6. 使用AlamofireReachbility检测网络连接的状态
7. 使用Alamofire验证请求结果和可访问性
8. 下载网络图片显示下载进度并保存在沙箱目录中
9. 上传图片并实时显示上传进度/上传字节数
10. 使用AlamofireImage下载网络图片
11. 对图片进行inflate操作以提高图片的渲染效率
12. 使用AlamofireImage对图片进行缩放操作
13. 使用AlamofireImage实现图片的圆角效果
14. 使用AlamofireImage给图片添加各种漂亮的滤镜
15. 使用AlamofireObjectMapper将Json映射为对象一
16. 使用AlamofireObjectMapper将Json映射为对象二
17. 使用AlamofireImage对下载的图片进行缓存处理
18. 使用Moya访问网络接口
19. 使用本地数据模拟远程接口提供的数据
20. 实现RxSwift风格的网络请求
21. 使用AsyncSwift让异步分发编程更加简单灵活
22. 使用AsyncSwift进行任务的延迟执行和取消
23. 使用PromiseKit简化异步编程
24. 通过catch语句及时捕捉异步任务中的异常
25. 通过ensure语句保证特定任务的执行
26. 使用PromiseKit的任务组功能
27. 创建一个Socket客户端
28. 创建一个Socket服务器端并实现和客户端的通讯
29. 使用SwiftyStoreKit往项目中快速添加内购功能
30. 快速实现对内购项目的购买
31. 快速恢复用户之前购买过的内购项目

第五章:针对iOS开发基础框架的高级扩展

1. 使用Device快速实现对设备版本/类型/屏幕的检测
2. 使用Arithmosophi实现对数据的多种算术运算
3. 使用DateHelper获得和日期时间相关的扩展方法
4. 使用DynnamicColor快速生成Invert/Mix/Tint/Shade颜色
5. 使用Chameleon创建互补色/对比色/渐变色/
6. 使用Chameleon获取图片主题颜色和平均颜色
7. 使用EZSwiftExtensions提供的一些实用的扩展
8. EZSwiftExtensions对基础类型的强大扩展
9. EZSwiftExtensions对String类型的扩展
10. 通过EZSwiftExtensions创建漂亮的富文本
11. EZSwiftExtensions对数组类型的实用扩展
12. EZSwiftExtensions对字典类型的实用扩展
13. EZSwiftExtensions对日期和时间类型的实用扩展
14. EZSwiftExtensions对UIView的一些实用的扩展
15. 使用EZSwiftExtensions对不同屏幕进行适配
16. 视图的旋转、缩放操作以及给视图添加圆角边框
17. 使用EZSwiftExtensions给视图添加单击和长按手势
18. 使用EZSwiftExtensions给视图添加轻扫、平移和捏合手势
19. 使用EZSwiftExtensions下载并显示网络图片
20. 使用EZSwiftExtensions对视图图像进行压缩和裁剪
21. EZSwiftExtensions对颜色和网址等类型的扩展
22. Alexandria针对整型、浮点类型和字符串的实用扩展
23. Alexandria针对Array和CGPoint的实用扩展
24. 使用Alexandria给图像添加多种梦幻滤镜
25. 使用Kingfisher加载网络图片并显示Loading动画
26. 使用Kingfisher进行网络图片的加载和缓存
27. 使用IBLocalizable扩展故事板中的元件增加本地化功能
28. 根据不同的语言环境显示不同语言版本的图片
29. 使用SwiftLocation向用户申请定位权限
30. 使用SwiftLocation通过GPS进行单次定位和连续定位
31. 使用SwiftLocation进行超高精度IP实时定位
32. 设置最低精度级别以及请求之间的最小间隔
33. 使用SwiftLocation查询附近的披萨店
34. 使用MathParser快速计算字符串中的各种数学表达式

第六章:自动布局、响应式编程和组件化

1. 使用SnapKit给视图添加尺寸和中心点的约束
2. 给视图添加针对其它视图位置进行偏移的约束
3. 添加edges/top/bottom/leading/trailing的约束
4. 使用Neon给视图添加锚点约束
5. 使用Neon给视图添加对齐和填充的约束
6. 视图之间在对齐和填充方面的约束关系
7. 两个视图之间的第三个视图的对齐约束
8. 标签控件跟随文字内容的多少自动改变高度
9. 使子视图以指定的格式对父视图进行填充
10. 通过group命令实现对多个视图的统一约束
11. 实例演示多分辨率的适配/在横屏竖屏都能够完美布局
12. 使用RxSwift开始响应式编程之旅
13. RxSwift中的操作符的灵活使用
14. 使用zip操作符将分离的数据结合为一个整体
15. RxSwift中的DisposeBag的使用和清除
16. 通过RxSwift使用UIPickerView控件
17. 通过RxSwift实现对表单的校验
18. 通过RxSwift使用UITableView
19. 通过RxSwift使用UIScrollView
20. RxSwift在网络请求中的使用
21. RxSwift和通知功能的综合应用
22. 使用zip操作符在完成任务组之后再执行其它任务
23. 使用URLNavigator实现项目的组件化
24. 如何通过路由进行页面的跳转以及数据的传递
25. 使用context上下文配置所有需要路由的数据
26. 通过一个闭包直接处理一个路由请求
27. 如何对故事板中的控制器进行路由

第七章:多媒体编程

1. 使用AudioPlayer优雅地实现音乐的播放和中止
2. 通过AudioIndicatorBars实现音乐播放的视觉效果
3. 使用FDWaveformView显示音频的波形图像
4. 使用Macaw显示一只老虎的矢量图形
5. 使用Macaw绘制矢量文字内容
6. 使用Macaw绘制基本的矢量图形和图像
7. 使用Macaw绘制一个漂亮的图表
8. 使用SwiftGif以更优雅的方式播放gif动画
9. 使用Spring快速实现滑入动画
10. 使用Spring实现多个动画的顺序播放
11. 使用Cheetah创建一个位移/颜色变化/变形动画
12. 使用Cheetah制作序列动画和循环动画
13. 使用Cheetah制作缓冲动画
14. 使用Lottie创建基于JSON的复制动画
15. 使用Lottie播放网络上的JSON动画
16. 实时控制Lottie动画的播放进度
17. 通过Hero以更加优雅的方式实现转场动画
18. 设置前后两个页面中的指定视图的转场动画
19. 实现漂亮的缩略图转场动画
20. 非常实用的集合视图的转场动画
21. 类似于苹果应用商店的漂亮的卡片转场效果一
22. 类似于苹果应用商店的漂亮的卡片转场效果二
23. 使用BMPlayer快速实现支持横向和纵向的播放器
24. 设置视频的封面以及给视频设置自定义的字幕
25. 如何给播放器设置不同分辨率的视频
26. 使用GPUImage修改图片的色调
27. 使用GPUImage修改图片的色彩饱和度
28. 使用GPUImage调整图片的曝光度和亮度
29. 通过OperationGroup给图片应用像素化和对比度调整
30. 使用GPUImage实现两张图片的像素混合
31. 使用GPUImage将视频处理为单色效果
32. 使用GPUImage对相机画面进行实时渲染
33. 使用GPUImage录制特效影片并将影片保存到相册

第八章:数据解析加密、数据库、与自动化测试

1. 使用AEXML实现对XML文档的解析
2. 使用AEXML创建一份XML文档
3. 通过Fuzi对XML文档进行解析
4. 通过Fuzi对HTML文档进行解析
5. 使用SwiftyJSON解析JSON文档
6. 使用AERecord实现CoreData数据库的创建
7. 实现AERecord数据的添加和搜索
8. 实现AERecord数据的修改和删除
9. 使用SQLiteSwift管理本地的数据库
10. 使用SQLiteSwift查找、修改和删除数据
11. 使用SQL语言实现数据的插入和查询
12. Realm框架的安装和配置
13. 使用Realm往数据库中插入数据
14. 使用Realm修改已有的数据
15. 使用Realm删除已有的记录
16. 使用Realm执行数据库的查询操作
17. 对表中的一些字段进行合并
18. 如何设置Realm数据库文件的存储位置
19. 如何对磁盘上的数据库文件进行加密
20. 如何在两个线程之间进行Realm实例的传递
21. 使用Realm将JSON转为对象
22. 使用FileKit实现文件和文件夹的创建
23. 使用FileKit实现文件的拷贝和移动
24. 使用FileKit实现文件夹的遍历以及文件的写入
25. 使用FileBrowser快速创建一个文件浏览器
26. 使用PDFGenerator创建PDF文档
27. 使用PDFGenerator创建加密的PDF文档
28. 使用Zip实现文件的压缩和解压操作
29. 使用Zip创建和解压一个加密的压缩包
30. 使用Swift实现原生的3DES加密解密
31. 使用Swift实现原生的SHA1加密
32. 使用CryptoSwift实现Md5/SHA加密算法
33. 使用CryptoSwift实现Poly1305/Aes加密算法
34. 使用CryptoSwift实现BlowFish/Chacha/Rabbit加密算法
35. 通过OHHTTPStubs使用本地数据模拟接口发送来的数据
36. 使用字符串来伪造服务器返回的数据
37. 如何模拟使服务器返回错误信息
38. 如何使用本地的图片伪造服务器返回的图片
39. 使用NetFox快速查看所有已执行的网络请求
40. 使用PinpointKit搜集应用程序用户体验
41. 使用SwiftMonkey生成随机触摸事件进行压力测试
42. 使用jazzy工具您的项目快速生成文档

第九章:开源类库中的神器

1. 使用Appz实现在项目中跳转到微信/AppStore/地图
2. 使用FontAwesome在项目中使用大量漂亮的小图标
3. 使用EFQRCode识别图片上出现的所有的二维码
4. 使用EFQRCode将网址转换为二维码图片
5. 使用EFQRCode创建自定义样式的二维码
6. 使用EFQRCode生成炫酷的动画二维码
7. 使用QRCodeReader通过相机扫描识别二维码
8. 通过闭包来快速获取扫描的二维码的内容
9. 使用Instructions为应用程序创建功能引导功能
10. 使用RAMPaperSwitch创建漂亮的Switch动画
11. 创建高逼格的Tab动画(Tab图标具有多种动画样式)一
12. 创建高逼格的Tab动画(Tab图标具有多种动画样式)二
13. 创建高逼格的Tab动画(Tab图标具有多种动画样式)三
14. 使用TwicketSegmentedControl创建可滑动的分段控件
15. 使用PagingMenuController创建可滑动的分页控件一
16. 使用PagingMenuController创建可滑动的分页控件二
17. 使用ENSideMenu快速搭建强大的侧边栏项目一
18. 使用ENSideMenu快速搭建强大的侧边栏项目二
19. 使用GuillotineMenu创建旋转和弹性的页面切换效果一
20. 使用GuillotineMenu创建旋转和弹性的页面切换效果二
21. 使用GuillotineMenu创建旋转和弹性的页面切换效果三
22. 使用BubbleTransition创建气泡式页面切换效果一
23. 使用BubbleTransition创建气泡式页面切换效果二
24. 使用ALCameraViewController创建支持强大的相机视图
25. 使用Paper_onboarding创建漂亮的引导页
26. 使用StarWars 实现碎片粒子转场效果
27. 创建强大的Pinterest风格的瀑布流界面一
28. 创建强大的Pinterest风格的瀑布流界面二
29. 使用Presentation创建页面的景深视差滚动效果
30. 创建更强大更漂亮的景深视差滚动效果
31. 快速搭建具有滑出/视差/3D变形等效果的引导页一
32. 搭建具有滑出/视差/3D变形等效果的引导页二
33. 搭建具有滑出/视差/3D变形等效果的引导页三
34. 使用preview-transition搭建一个Card Peek/Pop界面一
35. 使用preview-transition搭建一个Card Peek/Pop界面二
36. 使用FoldingCell实现单元格的三维折叠动态效果一
37. 使用FoldingCell实现单元格的三维折叠动态效果二
38. 使用FoldingCell实现单元格的三维折叠动态效果三
39. 使用CollectionViewSlantedLayout实现炫丽拉风的单元格一
40. 实现炫丽拉风的倾斜的单元格二
41. 实现炫丽拉风的倾斜的单元格三

第十章:还有更多:权限管理、app主题和精美幻灯片等

1. 通过SPPermissions以更加优雅的方式向申请权限
2. 如何自定义权限申请窗口上的文字内容和图标样式
3. 当权限申请被拒时引导用户重新进行授权
4. 使用SwiftTheme简单快速的实现应用程序的主题
5. 使用使用enum来配置项目的主题
6. 通过plist文件配置和管理项目的主题
7. 通过json文件配置和管理项目的主题
8. 使用KeychainAccess让访问Keychain钥匙串更加简便
9. 通过FaceID或TouchID读写钥匙串中的数据
10. 如何使用WKWebView加载网页代码和Gif动画
11. 如何读取项目中的网页文件以及执行脚本代码
12. 通过Javascript代码调用原生程序
13. 创建一个图文并茂的笔记本程序
14. MKMapView几种常见的代理方法
15. 在MKMapView中添加交互性标注图标
16. 使用MKMapView的相机功能制作三维地图
17. CoreText框架中字体的FontMetrics布局信息
18. 通过CoreText框架实现图文混排
19. 使用TextKit快速实现文章的分栏效果
20. 使用TextKit实现更精美的图文混排效果
21. 使用AVPlayerViewController实现视频的循环播放
22. 使用instruments Allocations工具检测内存泄露
23. 使用instruments Leaks工具检测内存泄露
24. 单元测试的各个状态和应用
25. 使用单元测试进行邮箱格式的验证
26. 使用单元测试进行代码的性能分析
27. 快速判断设备是否为越狱设备
28. 使用FSPagerView实现一个优雅的幻灯片
29. 在幻灯片的底部添加一个页码识别器
30. 对页码识别器的外观进行自定义
31. 给FSPagerView幻灯片制作炫丽的转场效果