采用 Reactor 单向流框架,用户行为(User Action)和视图状态(View State)通过可观察的流递送到各自的层,这些流是单向的:View 只能提交 Action 到 Reactor、View 的状态只能由 Reactor 驱动。
采用的三方库 ReactorKit
主题管理基于 Rx 方式。内置了 backgroundColor、foregroundColor、titleColor、bodyColor 和 borderColor 等常用的颜色属性,不足的可以通过 specialColors 数组进行扩展。
采用的三方库 RxTheme
方式一:swhub://about
路由管理基于 URL 方式。应用会注册一个自己的 URL Scheme,例如 swhub;同时也支持由 https 驱动,如果注册了 about 的 host,则会打开原生关于页面,否则打开网页。
同时对路由进行了 Reactive 的扩展,支持 Rx 方式调用,可以方便的处理结果。
采用的三方库 URLNavigator
基于 Moya 框架搭建,支持 Rx 方式请求数据和响应数据的模型化,相应代码封装在 NetworkingType 协议中。便捷请求方法如下:
requestRaw
requestJSON
requestObject
requestArray
requestBase
requestData
requestModel
requestModels
requestList
采用的三方库 Moya
对 ObjectMapper 进行了改进,支持多个字段的解析,例如:
username <- map["login|username", nested: false, delimiter: "|"]
采用的三方库 ObjectMapper-Hi
对状态栏、导航栏、标签栏、刘海屏等涉及系统兼容型的常用方法,封装为:
screenWidth
screenHeight
deviceWidth
deviceHeight
isNotchedScreen
isRegularScreen
isSmallScreen
isMiddleScreen
isLargeScreen
采用的三方库 QMUI_iOS
iOS 11+
请查看 IOSTemplate
请查看 SWHub
- 关于 ObjC:这是一个 Swift 库,在项目中可以通过桥接(OCHelper)使用 Objective-C。
可以在项目中添加同名的图标以替换内置的资源,
请查看 内置资源
Core Model Router Network Resources Components(Cache/Theme/JSBridge)