使用 Swift Package Manager 集成依赖库

| Swift , iOS , Xcode

在 Swift Package Manager 出现之前,我们需要使用 CococaPods, Carthage 等包管理工具来管理依赖。 现在,我们可以直接使用 Xcode 来管理依赖。Xcode 内建了对 Git 版本控制系统的支持,我们可以轻松地使用 Xcode 中的 Swift Package Manager 来管理公开的、私有的仓库中的包。

Github 个人首页的 README,这样玩儿~

| 其他 , Github

大家最近有没有发现这个现象,有些名人的Github首页变得更丰富了?尤其是那个夺目的README!!!想不想自己也弄一个呢?来,现在就开始吧~

Combine 框架,从0到1 —— 4.在 Combine 中执行异步代码

| Swift , iOS , Combine

你的应用可能会使用一些常见的模式来处理异步事件,比如:完成处理器、闭包属性。Combine 为这些模式提供了强大的替换项目。它可以让你消除这种样板代码,并且充分利用 Combine 中的操作符。当你在应用的其他地方采用 Combine 时,将异步调用点转换为 Combine 可以提高代码的一致性和可读性。 朋友,行动起来吧!把现有项目中的旧代码重构成使用 Combine 的代码~

Combine 框架,从0到1 —— 4.在 Combine 中使用 KVO

| Swift , iOS , Combine

KVO(Key-Value Observing) 是苹果开发者常用的功能,很多框架都会使用 KVO 来发送异步改动。将基于回调和闭包的 KVO 代码迁移到 Combine,可以使你的代码更优雅、更易维护。朋友,行动起来吧!把现有项目中的旧代码重构成使用 Combine 的代码~

Combine 框架,从0到1 —— 4.在 Combine 中使用计时器

| Swift , iOS , Combine

计时器是苹果开发者常用的功能。如果你的应用使用 Foundation 框架中的计时器 Timer 来周期性地执行某些操作,你可以用 Combine 简化这些代码。 现在,让我们来学习如何使用 Combine 处理计时器,并将已有的计时器处理代码迁移到 Combine。朋友,行动起来吧!把现有项目中的旧代码重构成使用 Combine 的代码~

Combine 框架,从0到1 —— 4.在 Combine 中使用通知

| Swift , iOS , Combine

通知中心是苹果开发者常用的功能,很多框架都会使用通知中心来向外部发送异步事件。现在,让我们来学习如何使用 Combine 处理通知,并将已有的通知处理代码迁移到 Combine。朋友,行动起来吧!把现有项目中的旧代码重构成使用 Combine 的代码~

Combine 框架,从0到1 —— 3.使用 Subscriber 控制发布速度

| Swift , iOS , Combine

对于大多数响应式编程场景而言,订阅者不需要对发布过程进行过多的控制。当发布者发布元素时,订阅者只需要无条件地接收即可。但是,如果发布者发布的速度过快,而订阅者接收的速度又太慢,我们该怎么解决这个问题呢?Combine 已经为我们制定了稳健的解决方案!现在,让我们来了解如何施加背压(back pressure)以精确控制发布者何时生成元素。

Combine 框架,从0到1 —— 2.通过 ConnectablePublisher 控制何时发布

| Swift , iOS , Combine

使用 Connectable Publisher, 你可以决定发布者何时开始发送订阅元素给订阅者。那么,为什么我们需要这么做?使用 sink(receiveValue:) 可以立刻开始接收订阅元素,但是这可能不是你想要的结果。当多个订阅者订阅了同一个发布者时,有可能会出现其中一个订阅者收到订阅内容,而另外一个订阅者收不到的情况。在使用 Combine 的过程中,我们往往需要面对这些问题。现在就来弄清楚如何处理这一类问题吧~

Combine 框架,从0到1 —— 1.核心概念

| Swift , iOS , Combine , MVVM , Rx

未来已来,只是尚未流行!响应式编程这个名词已经久负盛名,但是在实际项目中采用了响应式编程的公司其实不多。如果您有 iOS 开发经历,那么您多半听说过 RxSwift,而 Rx 源自微软。提到Rx,往往也会提到源自微软的 MVVM模式。 不过,本文不会讲解 MVVM。 由于 Combine 借鉴了 Rx 的思想,二者具有基本相同的特性,所以本文会同时讨论这两个大框架。 而且,如果有必要的话,我们可以通过学习开源的 RxSwift 源码来了解 Combine 的工作原理。您甚至可以这么简单粗暴的认为:Combine 就是苹果官方的 RxSwift。😅

Swift self, Self, ==, === 傻傻分不清楚?

| Swift , iOS

在2014年开源之后,Swift就在飞速地茁壮成长,内涵也越来越丰富。 对于实际使用Swift的人来说,概念多了就比较容易混淆😨,然后就会导致开发效率低下。毕竟,你需要去查这些概念的正确定义,或者你需要去自行验证。self, Self, ==, === 就是比较典型的例子。 在面试别人的过程中,我发现有很多朋友分不清楚这些概念。所以,我打算根据我自己的理解来梳理一下这些概念,希望能够帮大家少走一些弯路。🌟🌟🌟