码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发——网络编程Swift篇&(六)异步Post方式

时间:2015-06-07 23:27:43      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

异步Post方式

 

 1      // MARK: - 异步Post方式
 2     func asynchronousPost()
 3     {
 4         //创建NSURL对象
 5         var url:NSURL! = NSURL(string: "http://m.weather.com.cn/data/101010100.html")
 6         
 7         //创建请求对象
 8         var request : NSMutableURLRequest = NSMutableURLRequest(URL: url, cachePolicy: NSURLRequestCachePolicy.UseProtocolCachePolicy, timeoutInterval: 10)
 9         
10         request.HTTPMethod = "POST"//设置请求方式为POST,默认为GET
11         
12         var str:String = "type=focus-c";//设置参数
13         var data:NSData = str.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!
14         request.HTTPBody = data;
15         
16         //连接服务器
17         var connection = NSURLConnection(request: request, delegate: self)
18     }
19     
20     
21     
22     // MARK: - NSURLConnectionDataDelegate
23     func connection(connection: NSURLConnection, willSendRequest request: NSURLRequest, redirectResponse response: NSURLResponse?) -> NSURLRequest?
24     {
25         //将要发送请求
26         return request
27     }
28     
29     func connection(connection: NSURLConnection, didReceiveResponse response: NSURLResponse)
30     {
31         //接收响应
32     }
33     
34     
35     var jsonData:NSMutableData =  NSMutableData()
36     func connection(connection: NSURLConnection, didReceiveData data: NSData)
37     {
38         //收到数据
39         self.jsonData.appendData(data)
40     }
41     
42     func connection(connection: NSURLConnection, needNewBodyStream request: NSURLRequest) -> NSInputStream?
43     {
44         //需要新的内容流
45         return request.HTTPBodyStream
46     }
47     
48     func connection(connection: NSURLConnection, didSendBodyData bytesWritten: Int, totalBytesWritten: Int, totalBytesExpectedToWrite: Int)
49     {
50         //发送数据请求
51     }
52     
53     func connection(connection: NSURLConnection, willCacheResponse cachedResponse: NSCachedURLResponse) -> NSCachedURLResponse?
54     {
55         //缓存响应
56         return cachedResponse
57     }
58     
59     func connectionDidFinishLoading(connection: NSURLConnection)
60     {
61         //请求结束
62         
63         var jsonString = NSString(data: self.jsonData, encoding: NSUTF8StringEncoding)
64         
65         println(jsonString)
66         
67         
68         let dict:AnyObject? = NSJSONSerialization.JSONObjectWithData(self.jsonData, options: NSJSONReadingOptions.AllowFragments, error: nil)
69         
70         
71         //已下代码 重新修订
72 //        var dic = dict as NSDictionary
73 //        
74 //        let weatherinfoDic = dic.objectForKey("weatherinfo") as? NSDictionary
75 //        let city = weatherinfoDic?.objectForKey("city") as? String
76 //        let date_y = weatherinfoDic?.objectForKey("date_y") as? String
77 //        let temp1 = weatherinfoDic?.objectForKey("temp1") as? String
78 //        
79 //        let alert = UIAlertView(title: (city! + date_y!), message: temp1!, delegate: nil, cancelButtonTitle: "确定")
80 //        alert.show()
81         
82         
83         //2015年4月10号修改
84         if var dic = dict as? NSDictionary
85         {
86             let weatherinfoDic = dic.objectForKey("weatherinfo") as? NSDictionary
87             let city = weatherinfoDic?.objectForKey("city") as? String
88             let date_y = weatherinfoDic?.objectForKey("date_y") as? String
89             let temp1 = weatherinfoDic?.objectForKey("temp1") as? String
90             
91             let alert = UIAlertView(title: (city! + date_y!), message: temp1!, delegate: nil, cancelButtonTitle: "确定")
92             alert.show()
93         }
94     }
95     

 

 

iOS开发——网络编程Swift篇&(六)异步Post方式

标签:

原文地址:http://www.cnblogs.com/iCocos/p/4559629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!