在KDNewsListApi类,并且实现下面的方法
1funcgetNewsData(){23varurl:NSURL=NSURL(string:self.url)45varrequest:NSURLRequest=NSURLRequest(URL:url)67varconnection=NSURLConnection(request:request,delegate:delegate,startImmediately:false)//初始化一个connection89println("NewsListUrlis:\(self.url)")1011connection.start();//通过start方法启动连接1213}
在KDNewsListController类,实现以下接口函数
funcconnection(didReceiveResponse:NSURLConnection!,didReceiveResponseresponse:NSURLResponse!){//Recievedanewrequest,clearoutthedataobjectself.data=NSMutableData()}funcconnection(connection:NSURLConnection!,didReceiveDatadata:NSData!){//Appendtherecievedchunkofdatatoourdataobjectself.data.appendData(data)}funcconnectionDidFinishLoading(connection:NSURLConnection!){varerr:NSErrorvarjsonResult:NSDictionary=NSJSONSerialization.JSONObjectWithData(self.data,options:NSJSONReadingOptions.MutableContainers,error:nil)asNSDictionaryprint("NewsListJsonData:\(jsonResult)")}
协议2
在KDNewsDetailApi类,并且实现下面的方法
1funcgetNewsData(){23varurl:NSURL=NSURL(string:self.url)45varrequest:NSURLRequest=NSURLRequest(URL:url)67varconnection=NSURLConnection(request:request,delegate:delegate,startImmediately:false)89println("NewsDetailUrlis:\(self.url)")1011connection.start()1213}
初始化一个NSURLConnection类,并且执行start方法
在KDNewsDetailController类,实现以下接口函数
1funcconnection(didReceiveResponse:NSURLConnection!,didReceiveResponseresponse:NSURLResponse!){23//Recievedanewrequest,clearoutthedataobject45self.data=NSMutableData()67}89funcconnection(connection:NSURLConnection!,didReceiveDatadata:NSData!){1011//Appendtherecievedchunkofdatatoourdataobject1213self.data.appendData(data)14}151617funcconnectionDidFinishLoading(connection:NSURLConnection!){1819varerr:NSError2021varjsonResult:NSDictionary=NSJSONSerialization.JSONObjectWithData(self.data,2223options:NSJSONReadingOptions.MutableContainers,2425error:nil)asNSDictionary2627print("NewsDetailJsonData:\(jsonResult)")2829}运行的结果如下:
协议1:
{
"date":"20140806",
"stories":[
"title":"神经营销学:直接「挖」出你脑中对商品的偏好",
"ga_prefix":"080612",
"images":[
],
"type":0,
"id":4074172
},
"title":"「用灵魂在唱歌」,评委老这么说",
"ga_prefix":"080610",
"id":4074299
"title":"科学地告诉你,为什么有些谣言能在网上活得特开心",
"ga_prefix":"080607",
"id":4074494
"title":"为什么我们看到的国产电视剧,永远只有那么几种",
"id":4073625
"title":"《白发魔女传》:又毁了一个经典武侠人物",
"id":4074215
"title":"瞎扯·如何正确地吐槽",
"ga_prefix":"080606",
"id":4075350
}
"top_stories":[
"title":"富士康都停工了:昆山这起特大粉尘爆炸是怎么回事?",
"ga_prefix":"080511",
"id":4073525
]
协议2:
"image_source":"《白发魔女传之明月天国》",
"js":[],
"id":4074215,
"css":[
两个协议测试成功,完成接口部分,下一章节会进行UI部分的开发。
另外写代码的时候swift遇到一点小问题,网上下载了一个项目,后来xcode编辑器里面的语法高亮都变成了灰色,很怪异,估计是命名里面有swift关键字的原因吧(有待研究),把项目关了重启xcode就ok了