//
// ViewController.swift
// AlamFireDemo
//
// import UIKit
import Alamofire class ViewController: UIViewController {
lazy var defManager : Manager = {
//1、get addtional http header
var defHeaders = Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders ?? [:]
//2、set a NSURLSessionConfiguration
let conf = NSURLSessionConfiguration.defaultSessionConfiguration()
conf.HTTPAdditionalHeaders = defHeaders //3、geneter a manager
let manager = Alamofire.Manager(configuration: conf)
return manager }()
// 后台下载
lazy var backgroundManager :Manager = { var defHeaders = Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders ?? [:] let conf = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("com.example.app.backgroud")
let manager = Alamofire.Manager(configuration: conf)
return manager
}() lazy var ephemeralManager :Manager = { var defHeaders = Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders ?? [:] let conf = NSURLSessionConfiguration.ephemeralSessionConfiguration()
let manager = Alamofire.Manager(configuration: conf)
return manager
}()
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request(.GET, "https://httpbin.org/get").response { (request, response, data, error) -> Void in
print(request)
print(response)
print(data)
print(data.dynamicType)
print(error)
print(error.dynamicType)
}.responseString { (response) -> Void in
print("String ==========")
switch response.result {
case .Success(let str):
print("\(str.dynamicType)")
print("\(str)")
case .Failure(let error):
print("\(error)") }
}.responseJSON { (response) -> Void in
print("JSON ==========") switch response.result { case .Success(let json):
let dic = json as! Dictionary<String,AnyObject> let origin = dic["origin"] as! String
let headers = dic["headers"] as! Dictionary<String,String>
print("origin :\(origin)")
print("user-agent :\(headers["User-Agent"])")
case .Failure(let error):
print(error)
}
}
} override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
} }

1、创建AlamFireDemo 工程,关闭工程
2、进入到工程目录 执行 pod init 命令 生成 PodFile文件
3、vi PodFile编辑该文件

启用:platform :ios, '8.0'

use_frameworks!

在end之前粘贴 pod 'Alamofire','~> 3.0’,执行pod install
4、安装完成之后打开白色工程
open -a Xcode AlamoFireDemo.xcworkspace

  

AlamoFireDemo的更多相关文章

  1. 【swift学习笔记】四.swift使用Alamofire和swiftyJson

    Alamofire是AFNetworking的swift版本,功能灰常强大. github:https://github.com/Alamofire/Alamofire SwiftyJSON是操作js ...

  2. Swift使用Alamofire实现网络请求

    Alamofire是一个用Swift编写的HTTP网络库,由此前热门开源项目AFNetworking的的作者mattt开发,可非常简单地用于异步网络通信. 要获取最新版本的 Alamofire,前往h ...

  3. Alamofire请求网络

    HTTP - GET和POST请求- 如果要传递大量数据,比如文件上传,只能用POST请求- GET的安全性比POST要差些,如果包含机密/敏感信息,建议用POST- 如果仅仅是索取数据(数据查询), ...

  4. 基于LBS平台的iOS开发

    LBS,即Location Based Services,基于位置服务,用于定位.导航等功能,比如地图应用.订外卖等的app就需要这个功能. 在这里我使用的是高德LBS开放平台,地址:http://l ...

  5. 命令行添加pod示例

    1.创建AlamFireDemo 工程,关闭工程 2.进入到工程目录 执行 pod init 命令 生成 PodFile文件 3.vi PodFile编辑该文件 启用:platform :ios, ' ...

  6. Swift之分割视图控制器-UISplitViewController

    Swift之分割视图控制器-UISplitViewController UISplitViewController这种控制器只能用于iPad,它可以在iPad屏幕中显示两个不同的场景:在横向模式下,左 ...

随机推荐

  1. OpenGL 之 坐标变换

    http://www.cnblogs.com/irvinow/archive/2009/11/20/1606496.html 创建OpenGL模型过程: OPENGL坐标变换很有特点,为了简单描述先定 ...

  2. How to duplicate a UIButton in Objective C?

    http://stackoverflow.com/questions/1092875/how-to-duplicate-a-uibutton-in-objective-c 1down vote To ...

  3. UVALIVE 2927 "Shortest" pair of paths

    裸的费用流.一开始因为这句话还觉得要拆点 样例行不通不知道这句话干啥用的.Further, the company cannot place the two chemicals in same dep ...

  4. POCO库中文编程参考指南(3)Poco::Net::Socket

    POCO库中文编程参考指南(3)Poco::Net::Socket 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc#gmail.c ...

  5. VS2005重置所有设置

    1. 关闭VS 2. 在命令行运行microsoft visual studio 8\common7\ide\devenv.exe /setup /resetuserdata /resetsettin ...

  6. Flask-宏的相关知识。

    转自ITOYO:XIAOJINGJING Jinja2的宏功能有些类似于传统程序语言中的函数,既然是函数就有其声明和调用两个部分. 首先声明一个宏: <html lang="en&qu ...

  7. Ubunntu kylin下安装VmWare Tools(简洁方法)

    1.在VM菜单栏单击虚拟机,选择安装Vmware tools(或者是重装Vmware Tools) 2.会弹出一个界面,就是光盘加载的那个界面,里面有个.******.gz文件 3.复制到桌面(你喜欢 ...

  8. HDU 2544.最短路-最短路(Dijkstra)

    本来不想写,但是脑子不好使,还是写一下备忘_(:з」∠)_ 最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/3276 ...

  9. (寒假集训)洛谷 P2058 海港

    小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客. 小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况:对于第i艘到达的船,他记录了 ...

  10. 浅析 Node.js 单线程模型

    总结笔记:对于每个用户请求,由主线程接收并存放于一个事件队列中(不做任何处理),当无请求发生时,即主线程空闲,主线程开始循环处理事件队列中的任务: 对于非阻塞JS程序: 1.若某事件需要I/O操作,则 ...