基于 Moya 和 PromiseKit 的网络请求层 SGAPIRequest

码农软件 · 软件分类 · 网络工具包 · 2019-02-24 19:28:46

软件介绍

SGAPIRequest 是用 Moya + PromiseKit 创建具有序列化及缓存功能的网络请求层。

第一次使用Swift来做项目,第一步当然就是折腾架构,由于项目时间比较宽裕,使用了较多的时间来进行学习参照,最后使用了这样的架构来作为这个产品的网络层,满足了项目基本的需求,肯定有不少的缺陷,权当各位参考。

先来看看最终我们要达成的目标,下面是一段异步请求接口的代码,这段代码具有网络请求、序列化及基本的缓存功能

firstly { () -> Promise<[ArticleCategoryModel?]?> in
    return CallApi(DFAPI.navigations, isCached: true)
}.then { [weak self] (data) -> Void in
    self!.navigations = data!
}

这一段请求,由以下4个库实现:

  1. Moya:负责网络请求

  2. PromiseKit:负责干净优雅的链式异步调用

  3. HandyJSON:负责序列化、反序列化

  4. AwesomeCache:负责缓存请求结果及缓存过期

项目Demo

本文地址:https://www.codercto.com/soft/d/54.html

设计模式解析

设计模式解析

Alan Shalloway、James R.Trott / 徐言声 / 人民邮电出版社 / 2013-1 / 55.00元

《设计模式解析(第2版·修订版)》,本书首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12个最常用的模式,使读者能够理解模式背后的基本原则和动机,理解为什么它们会这样运作。一起来看看 《设计模式解析》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具