神刀安全网

学习Swift 第三方网络封装库Moya

Alamofire封装库Moya

Moya

moya 对Alamofire网络请求库进行了封装,开发不需要写网络模型,管理等。使代码更加简洁。详情访问 Moya 项目主页

1. 创建一个iOS Swift项目 (废话)

这里使用cocoapods 创建Podfile文件放在项目根目录下

Java

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya'
source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya' 

在项目根目录运行

Java

pod install --verbose --no-repo-update // 不更新repo, 速度会快点
podinstall --verbose --no-repo-update // 不更新repo, 速度会快点 

安装成功

点击 .xcworkspace 文件。启动项目

2. 创建API管理文件 DSAPI.Swift

这里我们使用逗视的api1.引入Moya头文件

Java

<code class="swift">import Foundation import Moya </code>
<codeclass="swift">import Foundation import Moya </code> 

2.创建DS的请求方法列表 enum

Java

/**   MARK: 创建DS 请求方法列表  - GetVideosByType  根据类型获取视频列表   */ public enum DS {     case GetVideosByType(Int,Int,Int,Int) //根据类型获取视频列表 }
/**   MARK: 创建DS 请求方法列表 - GetVideosByType  根据类型获取视频列表 */ public enum DS {     case GetVideosByType(Int,Int,Int,Int) //根据类型获取视频列表 } 

3.创建 MoyaProvider

Java

// MARK: - Provider setup let DSProvider = MoyaProvider<DS>()
// MARK: - Provider setup letDSProvider = MoyaProvider<DS>() 

4.通过Moya 定义的 baseUrl 、 请求路径( path )、 Http方法、 参数和目标的示例数据的协议。

扩展DS : TargetType

Java

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya' 

0

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya' 

1

OK 这样创建好了DSAPI管理类,下面在tableView中实验一把

5.创建VideosTableViewController

  • 定义数据集合

Java

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya' 

2

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya' 

3

  • 创建loadData()方法请求网络数据

Java

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya' 

4

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya' 

5

  • 扩展VideosTableViewController Cell增添数据

Java

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya' 

6

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! pod 'Moya' 

7

OK,点击 Run 看一下效果吧

学习Swift 第三方网络封装库Moya

正确获取到 逗视 app的视频列表了

有没有发现这样写网络请求很爽,我们只维护 DSAPI 就可以了,添加请求方法,处理数据等。

本文例子已经上传到github,有问题可以发送邮件iosdev#itjh.com.cn

原文  http://www.itjhwd.com/学习swift-第三方网络封装库moya.html

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 学习Swift 第三方网络封装库Moya

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮