Alamofire进行网络请求(实训)

来源:互联网 发布:mac os 系统修复 编辑:程序博客网 时间:2024/06/05 12:07

  新版本的Alamofire跟原来的使用方式基本相同,但是在用的过程中,发现使用更加灵活,而且更加方便了。今天先说说最基本的网络请求怎么用。

  首先,发送get请求。分为不带参数和带参数的。首先不带参数的!!

Alamofire.request("http://gank.io/api/data/福利/20/1",method:.get)
之前写的时候,这个IP地址是需要转码的,比如下面这样,但是现在不用啦。

var str: String = "http://gank.io/api/data/每日头条/20/1"str = str.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!Alamofire.request(.GET, str)
发送带参数的请求,多加一个参数就好。

let params = ["tel": tel]
Alamofire.request("http://gank.io/api/data/每日头条/20/1", 
,method:.get,parameters: params)

发送post请求,直接把method换成.post就可以了

除了发送请求,发送完之后,还要接收得到的结果。

Alamofire.request("https://api.500px.com/v1/photos",method: .get).responseJSON{                    response in                    switch response.result{                    case .success:                        if let value = response.result.value                        {                            let json = JSON(value)                            print(json)                                                    }                    case .failure(let error):                        print(error)                                            }                }
上述responseJSON返回的是JSON数据,除此之外,还可以返回其他类型的数据

response()
responseData()
responseString(encoding: NSStringEncoding)
responseJSON(options: NSJSONReadingOptions)
responsePropertyList(options: NSPropertyListReadOptions)


得到的JSON数据可以直接用前面说的SwiftJSON解析即可。一般解析出的返回的数据都是字典或者数组,直接提取即可。

贴一点示例代码。

Alamofire.request(.GET, "http://gank.io/api/data/iOS/20/1").responseJSON{                response in                switch response.result{                case .Success:                    if let value = response.result.value                    {                        let json = JSON(value)                       print(json)                        for i in 0..<json["results"].count                        {                            self.titles.append(json["results"][i]["desc"].string!)//                            self.writers.append(json["results"][i]["who"].string!)                            self.urls.append(json["results"][i]["url"].string!)                                                        let Str = json["results"][i]["createdAt"].string! as NSString                            let date = Str.substringToIndex(10)//                            let date = self.dateFromString(str)!                            self.dates.append(date)                            self.type = "iOS"                        }                                            }                  case .Failure(let error):                                        print(error)                }            }






阅读全文
0 0
原创粉丝点击