使用Combine来实现一个网络请求 掘金专栏-庄周晓梦 庄周晓梦 2023年2月13日 13:36 通过上一篇《iOS响应式编程-Combine简介》的阅读,我们对Combine的大致应用有了一个基本的了解,接下来,我们看看Combine都能用在哪里。 首先是网络请求,因为网络请求有着天然的异步性,
iOS响应式编程Combine——简介 掘金专栏-庄周晓梦 庄周晓梦 2023年2月10日 23:04 Combine 通过绑定事件处理(event-progressing)操作符来自定义处理异步事件 总览 Combine框架提供了一种声明式的Swift API, 用来随时处理各种值。这些值可以被当做各
TCP/UDP介绍及区别 掘金专栏-庄周晓梦 庄周晓梦 2023年2月7日 15:50 传输控制协议(TCP)驱动着可靠数据的传输。相较之下,用户数据包协议(UDP)优先于速度和效率,这一点对网络操作至关重要。 TCP和UDP协议是互联网的功能支柱,能将不同类型的的数据从一个网络资源传输
Swift中的HTTP(十八) 总结 掘金专栏-庄周晓梦 庄周晓梦 2023年2月6日 20:45 在这个系列的过程中,我们从一个简单的想法开始,并将它带到了一些非常迷人的地方。 我们开始的想法是可以将网络层抽象为“我发送此请求,最终我得到响应”的想法。 在阅读 Rob Napier 关于协议协议的
Swift中的HTTP(十七) 头脑风暴 掘金专栏-庄周晓梦 庄周晓梦 2023年2月6日 20:40 我原计划在不同的加载器上发布更多的帖子,你可以使用这个架构构建,但是为了“完成”这个系列,我决定放弃一个帖子每个加载器,而是强调要点 其中一些。 OpenID 我们已经了解了如何实现通过 OAuth
Swift中的HTTP(十六)复合加载器 掘金专栏-庄周晓梦 庄周晓梦 2023年2月6日 20:35 到目前为止,我们已经构建了两个不同的加载器来处理身份验证,并且可以想象我们想要构建更多来支持其他加载器。 如果我们可以将所有“身份验证”逻辑封装到一个加载程序中,那不是很好吗? 我们将通过创建一个复合
Swift中的HTTP(十五) 自动鉴权 掘金专栏-庄周晓梦 庄周晓梦 2023年2月6日 20:30 上一篇文章介绍了 OAuth 流程的基础知识:我们如何检查令牌、我们如何要求用户登录、我们如何刷新令牌等等。 在这篇文章中,我们将采用该状态机并将其集成到 HTTPLoader 子类中。 ## 加载器
Swift中的HTTP(十四) 自动鉴权设置 掘金专栏-庄周晓梦 庄周晓梦 2023年2月6日 20:25 虽然基本访问身份验证适用于“基本”情况,但现在更常见的是使用某种形式的 OAuth。 与 Basic 身份验证相比,OAuth 有一些有趣的优势,例如: 该应用永远无法访问用户的用户名和密码 用户可以
Swift中的HTTP(十三) 基础鉴权 掘金专栏-庄周晓梦 庄周晓梦 2023年2月6日 20:14 对 web api 的 HTTP 请求通常需要有某种凭据。 最简单的身份验证类型是基本访问身份验证,在这篇文章中,我们将把这个功能添加到我们的库中。 当我们阅读基本身份验证的规范(或维基百科文章)时,
Swift中的HTTP(十二) 重试 掘金专栏-庄周晓梦 庄周晓梦 2023年2月6日 20:10 如果收到的响应与客户端所寻找的不完全一致,大多数网络库都能够自动再次发送请求。 让我们也把它添加到我们的库中。 配置 回忆一下我们的 HTTPLoader 的 API: 请记住,这定义了一种加载任务的