CSDN下载地址:http://download.csdn.net/detail/guchengyunfeng/7989139
这篇文章主要介绍知易客户端开发的网络部分
网络接口
格式:
协议1: http://news-at.zhihu.com/api/3/news/latest (新闻列表)
协议2: http://news-at.zhihu.com/api/3/news/ (新闻详细)
代码实现的主要思路:
协议1
在KDNewsListApi类,并且实现下面的方法
1 func getNewsData(){ 2 3 var url:NSURL=NSURL(string:self.url) 4 5 var request:NSURLRequest=NSURLRequest(URL:url) 6 7 var connection=NSURLConnection(request:request,delegate:delegate,startImmediately:false) //初始化一个connection 8 9 println("NewsListUrl is :\(self.url)") 10 11 connection.start(); //通过start方法启动连接 12 13 }
在KDNewsListController类,实现以下接口函数
func connection(didReceiveResponse: NSURLConnection!,didReceiveResponse response: NSURLResponse!) { // Recieved a new request, clear out the data object self.data = NSMutableData() } func connection(connection: NSURLConnection!,didReceiveData data: NSData!) { // Append the recieved chunk of data to our data object self.data.appendData(data) } func connectionDidFinishLoading(connection: NSURLConnection!) { var err: NSError var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(self.data, options:NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary print("NewsList Json Data:\(jsonResult)") }
协议2
在KDNewsDetailApi类,并且实现下面的方法
1 func getNewsData(){ 2 3 var url:NSURL=NSURL(string:self.url) 4 5 var request:NSURLRequest=NSURLRequest(URL:url) 6 7 var connection=NSURLConnection(request:request,delegate:delegate,startImmediately:false) 8 9 println("NewsDetailUrl is :\(self.url)") 10 11 connection.start() 12 13 }
初始化一个NSURLConnection类,并且执行start方法
在KDNewsDetailController类,实现以下接口函数
1 func connection(didReceiveResponse: NSURLConnection!,didReceiveResponse response: NSURLResponse!) { 2 3 // Recieved a new request, clear out the data object 4 5 self.data = NSMutableData() 6 7 } 8 9 func connection(connection: NSURLConnection!,didReceiveData data: NSData!) { 10 11 // Append the recieved chunk of data to our data object 12 13 self.data.appendData(data) 14 } 15 16 17 func connectionDidFinishLoading(connection: NSURLConnection!) { 18 19 var err: NSError 20 21 var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(self.data, 22 23 options:NSJSONReadingOptions.MutableContainers, 24 25 error: nil) as NSDictionary 26 27 print("NewsDetail Json Data:\(jsonResult)") 28 29 }
运行的结果如下:
协议1:
{
"date": "20140806",
"stories": [
{
"title": "神经营销学:直接「挖」出你脑中对商品的偏好",
"share_url": "http://daily.zhihu.com/story/4074172",
"ga_prefix": "080612",
"images": [
"http://pic3.zhimg.com/0624f675480562bd281ff106f9023d04.jpg"
],
"type": 0,
"id": 4074172
},
{
"title": "「用灵魂在唱歌」,评委老这么说",
"share_url": "http://daily.zhihu.com/story/4074299",
"ga_prefix": "080610",
"images": [
"http://pic4.zhimg.com/d74d5e3d32a2989a75ea1d3401527f82.jpg"
],
"type": 0,
"id": 4074299
},
{
"title": "科学地告诉你,为什么有些谣言能在网上活得特开心",
"share_url": "http://daily.zhihu.com/story/4074494",
"ga_prefix": "080607",
"images": [
"http://pic2.zhimg.com/790ea039d7ed5f8322f6b8376b8470fe.jpg"
],
"type": 0,
"id": 4074494
},
{
"title": "为什么我们看到的国产电视剧,永远只有那么几种",
"share_url": "http://daily.zhihu.com/story/4073625",
"ga_prefix": "080607",
"images": [
"http://pic1.zhimg.com/046cb040e87fa638fa3ac0c6e155f309.jpg"
],
"type": 0,
"id": 4073625
},
{
"title": "《白发魔女传》:又毁了一个经典武侠人物",
"share_url": "http://daily.zhihu.com/story/4074215",
"ga_prefix": "080607",
"images": [
"http://pic4.zhimg.com/cf9b40897c5928738db76194f5ac8938.jpg"
],
"type": 0,
"id": 4074215
},
{
"title": "瞎扯 · 如何正确地吐槽",
"share_url": "http://daily.zhihu.com/story/4075350",
"ga_prefix": "080606",
"images": [
"http://pic2.zhimg.com/5fad2244a6dba1fd3d474d23f3c22fbc.jpg"
],
"type": 0,
"id": 4075350
}
],
"top_stories": [
{
"title": "「用灵魂在唱歌」,评委老这么说",
"image": "http://pic3.zhimg.com/124b543952f8561ddd8f1a5ac453a404.jpg",
"share_url": "http://daily.zhihu.com/story/4074299",
"ga_prefix": "080610",
"type": 0,
"id": 4074299
},
{
"title": "《白发魔女传》:又毁了一个经典武侠人物",
"image": "http://pic1.zhimg.com/f21531beb0e91e430d914e96b1b13e2c.jpg",
"share_url": "http://daily.zhihu.com/story/4074215",
"ga_prefix": "080607",
"type": 0,
"id": 4074215
},
{
"title": "神经营销学:直接「挖」出你脑中对商品的偏好",
"image": "http://pic4.zhimg.com/a359d6e82270b08941133c56f6ef63d6.jpg",
"share_url": "http://daily.zhihu.com/story/4074172",
"ga_prefix": "080612",
"type": 0,
"id": 4074172
},
{
"title": "科学地告诉你,为什么有些谣言能在网上活得特开心",
"image": "http://pic1.zhimg.com/0ed29854d6e1c632cd0615636375de30.jpg",
"share_url": "http://daily.zhihu.com/story/4074494",
"ga_prefix": "080607",
"type": 0,
"id": 4074494
},
{
"title": "富士康都停工了:昆山这起特大粉尘爆炸是怎么回事?",
"image": "http://pic4.zhimg.com/6d503a17d8477ed68d2c4420d98491f7.jpg",
"share_url": "http://daily.zhihu.com/story/4073525",
"ga_prefix": "080511",
"type": 0,
"id": 4073525
}
]
}
协议2:
{
"body": "<div class=\"main-wrap content-wrap\">\n<div class=\"headline\">\n\n<div class=\"img-place-holder\"></div>\n\n\n</div>\n<div class=\"content-inner\">\n\n\n\n\n<div class=\"question\">\n<h2 class=\"question-title\">如何评价电影《白发魔女传之明月天国》?</h2>\n\n<div class=\"answer\">\n\n<div class=\"meta\">\n<img class=\"avatar\" src=\"http://pic2.zhimg.com/d927c3aef_is.jpg\">\n<span class=\"author\">Xiao Ronnie,</span><span class=\"bio\">Lifetime Researcher</span>\n</div>\n\n<div class=\"content\">\n<p>一般都有个不成文的规矩,「多次延期必是烂片」。这话儿对好莱坞的电影百试百灵,这两年的华语电影,也开始逐一应验。去年有「佳片」名曰富春,反复延期多达四五次创了记录;这部《白发魔女传之明月天国》延期的次数也不遑多让。</p>\r\n<p>「家国恨」、「江湖味」和「儿女情」,这应该是中国经典武侠之中最让人着迷的地方。由林青霞和张国荣主演的那部经典版的《白发魔女》,为了讲一个囫囵的故事,把重点都聚焦在了江湖儿女情之上。当年看的时候,印象最深的当然是林青霞的绝代风华,张国荣的「不辜负」,还有吴镇宇和吕少玲演的雌雄同体的姬无双。但若刨除这些大演员们的个人魅力,于仁泰的那部电影,留下最多的怕是贯穿全片的黑暗色调以及和田惠美精致的美术设计。</p>\r\n<p>所以张之亮要拍这部新作,所图自然不小。女真侵国,权奸当道,忠臣喋血,饿殍遍野,阴谋无间——前面半个钟头的戏,就几乎把整个历史大时代的错综复杂展现出来了。这对导演而言也不是新鲜事,他之前执导的《龙门飞甲》以及《墨攻》,都在描绘时代背景上给足功夫。而且别忘了张之亮的成名作,《中国最后一个太监》;他对于表现动乱时代,很有一番心得。</p>\r\n<p>不论是梁羽生的原作,还是此前的屡次改编,《白发魔女传》的重点都是爱情嘛。所以,一边在交代大历史,一边又必须纠结于小情仇。电影的前半程,你明显能够感觉到叙事节奏快马加鞭未下鞍:武当派、魏忠贤和他净身前的闺女、川陕大军、皇太极、小捕头和孤女、红丸案、廷击案、明月天国、熊廷弼和袁崇焕、抗金大军……还有卓一航和练霓裳之间的情愫发展;故事中所应当囊括的巨大信息量都走马灯式的快速呈现,诸般人物只有一两个镜头,各类明暗线刚提起就收拢。而作为观影者,还没来得及把自己代入戏中,就又开始接收新的剧情,岂是一个「乱」字可言。</p>\r\n<p>但倘若后半部分,能够很好的将前文的铺垫利用好,至少还值得几分期待。但这部命途多舛的作品,最终定档马年七夕,不得不把重心完全向情感倾斜。从练霓裳刹那白发开始,后半部分电影的节奏,彻底 180 度转弯。男女主角的大特写越来越多,煽情的对白和场面也屡屡出现,连配乐的风格都不对了,一直到结尾出现 Low-Fi 版的《红颜白发》,电影开始呈现「七夕定制电影」的风貌。至于前文里的那些家国春秋,那些谋国者说?我们看的是七夕电影,不要在意那些细节。所以观众们看完电影后破口大骂确实有理:这种前紧后松,有头没尾的情况,当然让人生气。</p>\r\n<p>同时,《明月天国》还验证了另一条真理:如果一部电影的男女主角都只有长相,没有演技,绝对是一场灾难。其实范爷的表现至少还能符合通常对于花瓶角色的要求,而且在大部分内心戏里,她眼睛的妆容也弥补了情绪上的不足。至于我们亲爱的「黄教主」,继杨过和韦小宝之后,又一次毁了一个经典的武侠人物。</p>\r\n<p>哪怕是在这部电影里,卓一航至少也有三场足以打动人心的内心戏:一是为了武当存亡而向权奸屈服时的忍辱负重,二是练霓裳转瞬白头时的悲痛欲绝,三是练霓裳为了保全自己而念忘情决时的茫然无奈。而我们的教主,在这三场戏里都近乎用同一种「似笑而哭」的英俊表情,完成了他的情绪表达。而这种「似笑而哭」的表情,大家一点也不陌生,演刘彻时就有,演箫剑时也有,与杨过一般无二,甚至在成冬青身上都出现过。当然,在成冬青那儿,这样的神态在那个土鳖的扮相下显得恰到好处。但尼玛,谁想在卓一航这里看到成冬青的脸啊!</p>\r\n<p>纵观全片,还拿得出一说的对手戏,是将近结尾时,赵文卓和严屹宽关于家国使命的那段对话;但也仅仅是「值得一提」的程度。和当年那部被奉为经典的前作相比,在演员的表现力方面,确实天人有别。甚至连练霓裳让人过目难忘的个性,在影片结束时都显得非常模糊。至于其他方面,二十一世纪一零年代的技术水平,自然比二十年前高上不少。所以虽然 3D 效果备受诟病,但我认为只是观众恨屋及乌罢了。影片的特效水平虽然不能说优秀,但在国内同侪比较,也算中规中矩了。至于影片对于武侠和江湖的理解,以及在美学和设计方面的造诣,真是难望当年之相背了。</p>\r\n<p>这部《明月天国》的失败,和很多武侠经典以及民间传奇在电影改编上的失败有类似之处。举凡华语电影中改编成功的武侠电影,例如《卧虎藏龙》或者《新龙门客栈》,本身就是小故事;而民间传奇中,也只有黄飞鸿系列,狄仁杰系列或者四大名捕系列这样剧情上几乎不用太过连贯,每一集可单独成章的范例才能称得上成功。而包括金古梁的经典作品,还有类似杨家将、隋唐英雄或者七侠五义这样历史背景和内涵丰富、故事连贯、人物众多的原著,在电影改编上都鲜有优秀作品。为数不多被人念叨的,也都是极尽浓缩的《东邪西毒》或者喜剧演绎的《鹿鼎记》系列。在原作丰富的信息量,鲜明的人物个性,戏剧冲突不断的精彩故事以及电影的快速叙事节奏之中如何平衡,这一点在港片的黄金时代也没有很好的解决。但这一类别中,又存在太多可以视为宝库的电影素材,让人难以舍弃。</p>\r\n<p>《明月天国》,不论电影的主线设置和结局,甚至包括影片命名,都像是准备系列化的作品。但从这系列第一部的操作来看,只能又是一个失败的范例。因为中国普通观众对于这类古装武侠或者传奇作品的需求一直存在,只要是有一定完成度的作品,在档期上和宣传上又没有重大错误,商业表现都不会太差。首周末 2.15 亿虽然有七夕档的特殊,但也足见这类影片的市场空间。这足以激励电影创作者们继续在这一领域尝试。</p>\r\n<p>我只是觉得,在一次又一次的尝试和失败后,我们的观众们,总会迎来上乘的武侠 / 传奇改编作品的。</p>\n</div>\n</div>\n\n\n<div class=\"view-more\"><a href=\"http://www.zhihu.com/question/24684647\">查看知乎讨论<span class=\"js-question-holder\"></span></a></div>\n\n</div>\n\n\n</div>\n</div>",
"image_source": "《白发魔女传之明月天国》",
"title": "《白发魔女传》:又毁了一个经典武侠人物",
"image": "http://pic1.zhimg.com/f21531beb0e91e430d914e96b1b13e2c.jpg",
"share_url": "http://daily.zhihu.com/story/4074215",
"js": [],
"ga_prefix": "080607",
"type": 0,
"id": 4074215,
"css": [
"http://news.at.zhihu.com/css/news_qa.auto.css?v=0abbb"
]
}
两个协议测试成功,完成接口部分,下一章节会进行UI部分的开发。
另外写代码的时候swift遇到一点小问题,网上下载了一个项目,后来xcode编辑器里面的语法高亮都变成了灰色,很怪异,估计是命名里面有swift关键字的原因吧(有待研究),把项目关了重启xcode就ok了
希望后续swift版本能尽快解决这个小BUG.
CSDN下载地址:http://download.csdn.net/detail/guchengyunfeng/7989139