iOS - RxSwift 项目实战记录

本文介绍了如何在 iOS 项目中使用 RxSwift 和相关库,包括 Moya/RxSwift、RxDataSources 等,通过示例展示了如何实现网络请求、数据源管理、以及使用 MJRefresh 进行刷新控制。文章详细讲解了 ViewModel 规范和数据绑定,帮助读者理解如何构建响应式编程的 iOS 应用。
摘要由CSDN通过智能技术生成

点击上方“iOS开发”,选择“置顶公众号”

关键时刻,第一时间送达!


最近刚刚把接手的OC项目搞定,经过深思熟虑后,本人决定下个项目起就使用Swift(学了这么久的Swift还没真正用到实际项目里。。。),而恰巧RxSwift已经出来有一些时间了,语法也基本上稳定,遂只身前来试探试探这RxSwift,接着就做了个小Demo,有兴趣的同学可以瞧一瞧~


Exhibition


结构


├── Controller

│   └── LXFViewController.swift     // 主视图控制器

├── Extension

│   └── Response+ObjectMapper.swift // Response分类,Moya请求完进行Json转模型或模型数组

├── Model

│   └── LXFModel.swift              // 模型

├── Protocol

│   └── LXFViewModelType.swift      // 定义了模型协议

├── Tool

│   ├── LXFNetworkTool.swift        // 封装Moya请求

│   └── LXFProgressHUD.swift        // 封装的HUD

├── View

│   ├── LXFViewCell.swift           // 自定义cell

│   └── LXFViewCell.xib             // cell的xib文件

└── ViewModel

    └── LXFViewModel.swift          // 视图模型


第三方库


RxSwift         // 想玩RxSwift的必备库

RxCocoa         // 对 UIKit Foundation 进行 Rx 化

NSObject+Rx     // 为我们提供 rx_disposeBag 

Moya/RxSwift    // 为RxSwift专用提供,对Alamofire进行封装的一个网络请求库

ObjectMapper    // Json转模型之必备良品

RxDataSources   // 帮助我们优雅的使用tableView的数据源方法

Then            // 提供快速初始化的语法糖

Kingfisher      // 图片加载库

SnapKit         // 视图约束库

Reusable        // 帮助我们优雅的使用自定义cell和view,不再出现Optional

MJRefresh       // 上拉加载、下拉刷新的库

SVProgressHUD   // 简单易用的HUD


敲黑板


Moya的使用


Moya是基于Alamofire的网络请求库,这里我使用了Moya/Swift,它在Moya的基础上添加了对RxSwift的接口支持。接下来我们来说下Moya的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值