我的第一个iOS开源项目

这是我第一次以代码风格接触社区,与此同时,我感到有些紧张和兴奋。

我知道我的代码不是完美的,但我也知道为了增长,无论如何,有时您有时需要处于不舒服的情况下。

而且,老实说,只要存在iOS / Swift,我也不知道要进入哪里,我觉得自己的方向是正确的。

当我发现自己从事iOS项目时,有时会遇到从服务器获取一些数据的情况,只有立即获得这些数据后,我才需要点击另一个端点来获取其他东西。

因此,这意味着我必须调用异步函数并在其完成闭包内部,然后才必须嵌套另一个异步调用,是的,我知道那里不存在某些东西。

在我之前的工作中,我曾经作为Node.JS后端开发人员工作,所以我知道嵌套异步调用是一种不好的做法,即使JavaScript世界上的人也将其称为回调地狱。

而且有一个很棒的库叫做async,可以使用它来防止Node.JS / JavaScript中的这种不良做法(当然,这不是唯一的选择,它们有Promise,Generators等)。

但是我不在JavaScript世界中,而是在令人惊叹的iOS世界中!

因此,我几乎没有考虑过如何在Swift中处理这种情况,我发现有一些很棒的框架(如RxSwift或FutureKit)可以帮助我解决问题,但是感觉它们对于我的简单问题来说太高级了。

这就是为什么我创建此博客文章,试图为我的简单问题提供简单的解决方案。

而且我不得不说我的解决方案有偏见,并且与异步是如此相同,只要我的问题得以解决,就可以了吗?

我当时处在不断将我的解决方案复制到其他项目的情况,这就是为什么我决定将其作为图书馆(如Github)提供。

这就是我最终创建这个名为Ax的库的初衷,其最初目的是使我的解决方案可用于其他项目,但我怀疑我不是唯一可以解决Swift中嵌套异步调用问题的人。

如果您对Ax库中的协作感兴趣,请随时与我联系,我计划实现更多功能。

因此,我想谈一谈我如何在Github中创建/上载我的库并使它在cocoapods中可用的过程,但这可能是另一篇文章,如果您有兴趣,请告诉我,我想分享一下。

感谢您的阅读。