午休用Swift写iOS/macOS REST API客户端的优雅方式

可观察模型的 REST 客户端缓存,挺好用的一招。写 iOS 或 macOS 客户端的时候,API 求那点事儿老是绕不开——求、解析、UI 同步,来回折腾。这个工具的思路是,把网络求抽象成资源模型,像本地数据一样网络数据。

Swift 写的,支持 OC,而且兼容性不错:iOS 10+macOS 10.11+tvOS 9+,都能跑。Xcode 11.3 起步,Swift 5.1 起。大部分项目都能直接上手。

最妙的地方是它的缓存机制。比如你有两个页面要用到同一个 API 的数据,它能自动复用,不用你再去手动判断是不是求过。而且observable的模式还挺贴 UI 逻辑,状态更新一气呵成。

错误也想得挺周到。你可以加加载提示,加重试逻辑,还能避免那种“菊花转到地老天荒”的尴尬情况。适合那种需要加载列表但又不想写一堆重复代码的场景。

说到底,就是帮你把求、缓存、UI 更新这些烦人的事封装好了。你只管声明资源,订阅变化,别的它搞定。如果你正在搞一个要频繁和后台打交道的 App,这玩意儿值得一试。

相关的参考也不少,比如Coinpaprika API Swift 客户端Mastodon Swift API 客户端这些,都属于同类思路。如果你之前也踩过求数据的坑,嗯,这个库正好合你口味。

folder
午休:为iOS macOS编写REST API客户端的文明方式 预估大小:155个文件
file
requests.md 6KB
file
services-resources.md 4KB
file
pipeline.md 13KB
file
configuration.md 8KB
file
security.md 5KB
file
objc.md 4KB
file
observers.md 4KB
file
Podfile.lock 310B
file
Contents.json 335B
file
Contents.json 848B
file
Contents.json 62B
file
.gitignore 5B
file
Siesta.h 353B
file
SiestaUI.h 363B
folder
Cartfile 文件夹
file
ObjcCompatibilitySpec.m 12KB
file
LICENSE 1KB
file
README.md 23KB
file
.gitignore 85B
file
CHANGELOG 108B
zip 文件大小:551.32KB