当前播放: 42 | 集成和使用开源网络框架
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:课程简介和开发前的准备 (4讲)
01 | 课程介绍
免费
02 | 内容综述
免费
03 | 常见App类型及技术栈浅析
免费
04 | 使用Xcode创建第一个工程
免费
第二章:实现App的基本界面 (33讲)
05 | MVC模式:iOS中的架构基石
免费
06 | iOS中的视图UIView
免费
07 | 了解UIView的生命周期
08 | 视图的控制器UIViewController
09 | 结合视图和控制器构建Tabbar样式页面
10 | 使用Navigation构建App的基础交互
11 | iOS基本页面框架的构成和实现
12 | 系统函数中常见模式Delegate
13 | UITableView简介
14 | UITableView中Delegate和Datasource的使用
15 | UITableViewCell的复用及原理
16 | 结合子视图实现完整的列表界面
17 | UICollectionView的基本应用和实现
18 | UICollectionViewLayout的应用
19 | 基本列表视图的选择和使用
20 | 滚动视图的基类UIScrollView简介
21 | 应用UIScrollViewDelegate实现复杂逻辑
22 | iOS中滚动视图对比及App内应用场景浅析
23 | iOS中文字的展示:UILabel的使用与布局
24 | iOS中图片的展示:UIImage与UIImageView的应用
25 | iOS中按钮的实现:UIButton的使用
26 | UIControl以及Target-Action模式
27 | 使用UIGestureRecognizer实现自定义点击与手势
28 | 通过UIAlertView了解UIKit系统函数的设计和使用
29 | Web基础知识及WKWebView 介绍
30 | 使用WKWebView及Delgate实现简单的页面加载
31 | 认识观察者模式KVO并展示页面加载进度
32 | iOS开发中的Web应用浅析
33 | 使用UIView动画完善界面的交互
34 | 动画背后的CALayer基本应用
35 | CoreAnimation及开源动画框架介绍
36 | 常用代码规范和重构方式
37 | 结合UIKit分析常用App的页面结构
第三章:实现App的基础功能 (35讲)
38 | 网络基础及请求的封装
39 | NSURLSession基础原理、组织和使用
40 | 使用系统网络架构NSURLSession加载网络数据
41 | 常用框架集成方式Submodule、Carthage和CocoaPods对比和使用
42 | 集成和使用开源网络框架
43 | iOS中的JSON解析
44 | 使用结构化的数据进行解析和展示
45 | 实现列表数据加载、解析和展示的完整流程
46 | iOS沙盒机制和文件结构
47 | 使用NSFileManager操作和管理文件
48 | iOS中的序列化NSCoding
49 | 开源存储方案对比与分析
50 | 缓存新闻列表数据及已读状态
51 | iOS中线程的基础知识及NSThread
52 | GCD的常用方法分析和使用
53 | 了解Operation、Runloop以及多线程开发总结
54 | 如何管理App中的图片下载与存储
55 | 开源图片框架接触的架构和使用
56 | 了解iOS系统的音视频框架
57 | 重构视频列表展示视频
58 | 实现简单视频播放器AVPlayer
59 | iOS消息机制NSNotification简介
60 | 使用Notification接收和处理播放状态通知
61 | 使用KVO监听和处理播放资源的状态变化
62 | CMTime及播放缓冲进度的获取和使用
63 | 使用单例模式重构播放器业务逻辑
64 | 常用App视频业务及流程浅析
65 | AutoLayout简介
66 | 使用AutoLayout实现通用ToolBar视图
67 | iOS常用布局方式选择
68 | 逻辑分辨率适配
69 | 物理分辨率适配
70 | 使用ImageAsset管理图片资源
71 | iPhone X适配
72 | iOS开发适配常用方法总结
第四章:App功能扩展和完善 (34讲)
73 | App启动过程及生命周期分析
74 | 通过App生命周期回调实现启动页
75 | 使用URL Scheme进行App间的唤起和通信
76 | Universal Link简介
77 | 常用组件化Target-Action方案
78 | 常用组件化URL Scheme方案
79 | 常用组件化Protocol-Class方案
80 | 实现简单的第三方登录和分享功能
81 | iOS中静态库的制作和使用
82 | iOS当中Framework的制作和使用
83 | OAuth和OpenID原理和使用
84 | 集成QQ SDK实现登录和分享功能
85 | iOS中常用日志和上报系统浅析
86 | 类CocoaLumberjack日志框架架构浅析
87 | Crash的类型介绍和常用收集方案
88 | 常用上报技术方案对比和分析
89 | iOS中定位和定位权限
90 | 定位功能实现和位置信息的获取
91 | iOS中推送和推送权限
92 | 使用UserNotifications实现本地推送
93 | 远程推送与APNs简介
94 | 使用UserNotifications接收远程推送
95 | iOS图标管理和动态更新
96 | iOS App Extension简介
97 | 实现Today Extension以及数据共享
98 | UITextField和UITextView
99 | 使用UITextField实现搜索条
100 | 使用UITextView实现输入框
101 | 复杂列表页实现方案及IGListKit浅析
102 | 复杂内容页展示逻辑及实现方案浅析
103 | App的签名原理和证书申请
104 | 常用iOS唯一标识符
105 | App的打包和上架流程
106 | 结课测试&结束语
42 | 集成和使用开源网络框架

42 | 集成和使用开源网络框架

朱德权
腾讯高级工程师
全集2899
新人首单 ¥29.9 原价 ¥129
本节摘要
登录 后留言

精选留言(7)

  • Geek_fee1d1
    老师,参数多了个header怎么设置

    作者回复: 没太明白具体的问题,方便具体的描述下问题?

    2020-06-19
    1
  • 王小东@WeX
    ld: warning: directory not found for option '-L/Users/seanwon/Library/Developer/Xcode/DerivedData/Test-bzfighexqkjhlvecamfuuymvnefr/Build/Products/Debug-iphonesimulator/AFNetworking'
    ld: warning: directory not found for option '-L/Users/seanwon/Library/Developer/Xcode/DerivedData/Test-bzfighexqkjhlvecamfuuymvnefr/Build/Products/Debug-iphonesimulator/AFNetworking'
    ld: library not found for -lAFNetworking
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    pod install 以后编译就直接出错了

    作者回复: 这个问题一般来说,是在pod install之后,pod生成了新的xcodeproj,整个项目工程需要使用新生成的xcworkspace, 估计你还使用的是原来的xcodeproj。如果不是这个问题,建议上传下代码我在帮你看下哈。

    2020-05-04
  • Geek_787812
    网络请求每次都会调用failure block,不知道是为什么

    作者回复: 需要看下具体的error以及错误码,就可以大概分析出错误了。网络级别常用的错误一般通过错误码大概都能定位,可以发下具体的url,或者具体的代码才能定位哈,可以上传下你的代码。或者对比下demo中GTListLoader文件看看哪里不同。https://github.com/dequan1331/geektime-ios-course。

    2020-03-03
  • hulala
    你好,我有两个小疑问哈

    1、就是如果我未来想做组件化或者一些自己的组件抽成一个库,但代码不想公开,是不是就不能使用cocoapods这种方式,担心的是传上去后别人也能搜到,代码泄露了

    2、这个有点离题了哈,就是以后如果用flutter混编,本来iOS、Android、web等是独立的git仓库,怎么让另外一个库(flutter代码)和他们一起管理,是不是就用git subModule

    谢谢

    作者回复: 1. cocoapods 是可以创建私有库的。对于大的项目好多也都是通过这个方式管理自己的组件。可以使用关键字 “pod 私有库”之类的在网上搜索下,有好多相关的文章。其实核心就是指定多个或者不同的pod repo 作为 source。同时配合上每个仓库的权限管理,就能做到保证私有的同时,使用pod来进行集成。

    2. Flutter混编的话 ,当然可以使用subModule进行代码的管理,我猜测你使用这种方式集成是想使用《源码》进行集成和调试。但是使用这个方法有一个弊端,就是全部团队的同学都要安装flutter环境。所以其实较大一些的团队,对于Flutter都是使用产物集成,代码独立的project管理,然后将生成的framework通过pod的方式集成。当然再这个基础上,我们可以写些脚本,对于开发的同学使用源码集成,其他同学使用framework集成。

    2020-02-17
  • Adam
    前边还能看懂,就是被cocoapods安装及文本编辑这个课程搞蒙了。

    作者回复: cocoapods用于iOS的第三方库依赖管理,本身是ruby的,所以不管从执行还是语法上都和OC有一定的区别,需要换一个角度看相关的知识。好多工作多年的同学对有复杂依赖的cocoapods使用也都有迷惑的时候,但是如果简单使用的话只要实际操作一遍即可掌握。可以在https://cocoapods.org/中找到全部的guides。简单的说,就是本机安装pods环境 - 创建/修改podfile文件 - 执行pod命令,这样pod就会根据podfile中的设置,集成相应的库到你的工程中。像课程视频中一样,可以自己手动练习一遍,基本的流程就可以掌握。如果有具体的问题不明白,可以留言我们一起讨论交流下哈~

    2019-09-30
  • 思尘
    #import "AFNetworking.h" 可以
    #import "<AFNetworking.h>" 不可以
    为什么

    作者回复: #import <AFNetworking/AFNetworking.h> 如果使用此种方式需要这样写哈,需要指定对应的framework

    2019-09-22
  • Geek_931e55
    podfile怎么生成的

    作者回复: 就是普通的文本编辑就好,重命名为profile,具体可以参考https://guides.cocoapods.org/using/the-podfile.html

    2019-09-07
收起评论
看过的人还看
iOS开发高手课

戴铭  前滴滴出行技术专家

47讲 | 12404 人已学习

新人首单 ¥19.9 原价 ¥99
Swift核心技术与实战

张杰  美团点评高级技术专家

120讲 | 2163 人已学习

新人首单 ¥29.9 原价 ¥129
数据结构与算法之美

王争  前Google工程师

80讲 | 86937 人已学习

新人首单 ¥29.9 原价 ¥129
Flutter核心技术与实战

陈航  美团点评高级技术专家

48讲 | 7766 人已学习

新人首单 ¥19.9 原价 ¥99