博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift使用Alamofire实现网络请求
阅读量:4910 次
发布时间:2019-06-11

本文共 2509 字,大约阅读时间需要 8 分钟。

Alamofire是一个用Swift编写的HTTP网络库,由此前热门开源项目AFNetworking的的作者mattt开发,可非常简单地用于异步网络通信。

要获取最新版本的 Alamofire,前往然后单击网页右边的Download ZIP按钮。接着在 Finder 中打开起始项目文件夹,,然后将Alamofire-master文件夹拖入到您的主项目文件夹中。

打开Alamofire-master文件夹(现在它位于您的项目文件夹中),然后将Alamofire.xcodeprij文件(注意是蓝色图标!不是白色图标!)直接拖进 Xcode 中的 AlamofireDemo 项目下面,如下图所示:

接下来,单击AlamofireDemo项目,进入General窗口。滚动到Embedded Binaries项,然后单击其下方的 + 号。选择Alamofire.framework,最后点击Add完成添加。

 

 

生成并运行您的项目以确保没有任何错误出现,然后就可以进入到下一节内容了。

要使用 Alamofire 的话,首先需要导入它。您需要在每个使用了 Alamofire 类以及函数的文件中添加这条`import`语句。

1
import Alamofire

 

Alamofire 是一个功能强大的,Swift 语言 HTTP 网络开发工具包。支持各种 HTTP Method、JSON、文件上传、文件下载和多种认证方法。

接下来我们来看具体操作

GET请求

Alamofire.request(.GET, "http://httpbin.org/get")

包含参数

Alamofire.request(.GET,                  "http://httpbin.org/get",                  parameters: ["foo": "bar"])

包含 Response 处理

Alamofire.request(.GET,                  "http://httpbin.org/get",                  parameters: ["foo": "bar"])         .response { (request, response, data, error) in                     println(request)                     println(response)                     println(error)                   }

POST请求

let parameters = [    "foo": "bar",    "baz": ["a", 1],    "qux": [        "x": 1,        "y": 2,        "z": 3    ]] Alamofire.request(.POST,                  "http://httpbin.org/post",                  parameters: parameters)

下载一个文件

Alamofire.download(.GET,                  "http://httpbin.org/stream/100",                  destination: { (temporaryURL, response) in    if let directoryURL = NSFileManager.defaultManager()                          .URLsForDirectory(.DocumentDirectory,                                            inDomains: .UserDomainMask)[0]                          as? NSURL {        let pathComponent = response.suggestedFilename         return directoryURL.URLByAppendingPathComponent(pathComponent)    }     return temporaryURL})

上传文件

let fileURL = NSBundle.mainBundle()                      .URLForResource("Default",                                      withExtension: "png") Alamofire.upload(.POST,                 "http://httpbin.org/post",                 file: fileURL)

下载图片

Alamofire.request(.GET, "/article/image/20150128/54c85e49bfa8d25764000f47/small_f3338d9cdf932cc3c0464dcb523361c5.jpg").response() {(_, _, data, _) in            let image = UIImage(data: data! as NSData)            self.imageView.image = image        }

 

现在您已经学会了如何使用 Alamofire 操作最基本的网络请求了。

http://www.cnblogs.com/maple023/p/4256552.html

转载于:https://www.cnblogs.com/cmblogs/p/4551924.html

你可能感兴趣的文章
这样一套操作要练习多久
查看>>
VS中的生成事件
查看>>
全选功能
查看>>
linux系统管理(1)之 内核编译选项查看
查看>>
HDMI中checksum计算法
查看>>
Delphi中停靠技术的实现
查看>>
java八种排序算法---快速排序
查看>>
Android入门之旅3—ubuntu11.4上通过adb连接M9手机
查看>>
将eclipse上的web项目部署到Tomcat服务器上经验总结
查看>>
SQLPLUS –> Metalink - (INVItemCt115h.sql ) Note: 223702.1
查看>>
数据结构-排序算法总结
查看>>
IIS6.0配置注意
查看>>
python---函数的应用,闭包,装饰器
查看>>
SQL Server2008中备份和还原数据库的时候出现“媒体集有2个媒体簇,但只提供了1个。必须提供所有成员”...
查看>>
bug
查看>>
Notes 20180508 : Java基本程序设计结构之关键字与标识符
查看>>
最新try2hack全详解
查看>>
开发 Windows 8 Bing地图应用(6)
查看>>
Chapter 1 顺序表
查看>>
Linux 为linux enterprises 6安装图形桌面教程
查看>>