iOS开发高仿网易新闻iOS客户端

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.项目介绍

高仿网易新闻是一款高仿官方网易新闻客户端的移动新闻阅读应用,将线上的新闻内容移植到手机上,并且可以查看广大网友评论的一款APP。

2.项目成果截图

``

``

``

``

3.架构介绍

这个客户端总体初步分为了6各模块,其中模块的数目是可以根据用户需求而增加的,目前我只实现了主要的两个模块。每一个模块都是采用MVC的架构模式来分离视图与数据的解耦合。在Model层,我抽离除了一个BaseModel基类,用于封装将JSON数据填充到Model的逻辑。在控制器层,我抽离除了BaseListViewController基类,用于将控制器的一些共同属性以及方法定义在其中,已达到简化代码的效果。在View视图层,需大量子类化控件都抽取出基类,方便以后的扩展和维护,例如:我抽离出BaseTableView基类,在里面封装了上拉刷新、下拉加载以及UITableView delegate的简单协议方法实现,这样不仅大量简化了代码,也为代码的修改提供了遍历。最后,项目中也用到了许多xib创建视图,大大的简化了程序。

4.项目的实现技术介绍

(1)网络请求采用开源框架AFNetWorking所封装的网络请求工具类

(2)采用自定义分段控件来实现滑动手势切换视图的效果,并且实现了分段控件标签的可添加性

(3)新闻列表的头视图,通过ScrollView实现了可循环翻页浏览的效果

(4)新闻列表采用两种不同的cell来分别显示不同类别的新闻

(5)在新闻列表单元格添加了一个自定义Button,以实现删除该单元格的功能

(6)使用开源框架HTMLParser来解析html文件,并实现了图文混排的功能

(7)使用开源框架MMDrawerController来实现了侧滑菜单的显示

(8)天气预报界面的弹出,我自定义了一个视图加在window上,以实现类似于模态视图从右侧弹出的效果

(9)通过CollectionView实现了图片的分页浏览,并且实现了点击图片可放大的功能

(10)使用开源框架SDWebImage来实现网络图片的异步加载与缓存处理

(11)类与类的通信采用了大量block块与通知的方法,使代码简洁紧凑

(12)使用ShareSDK,实现了分享新闻的功能

5.总结

做这个项目,我觉得最大的难点在于网络数据的请求与分类。在请求网络数据方面,由于我是通过charles软件抓包获取的网络接口,因此,所得到的数据就比较错综复杂,分析数据就成为了一件比较繁琐的事情。另外,在使用TableView的时候,也要特别的注意单元格的重用问题。同时,我们也应该养成良好的编程习惯,在子类复写父类方法的时候,一定要注意是否要先调用父类的方法,往往一些我们很难找出的BUG都是由于一些粗心和不好的编程习惯所造成的,因此,在编写程序时,我们应尽量细心严谨。此外,在编程的路上,我们要有一颗好学的心,遇到问题不要逃避,而是多想办法去解决,网络是我们程序员的一大

法宝,很多不懂的东西,我们都可以在网络上找到答案,但我们在查看网络答案时也要加入自己的思考,毕竟网络上的答案也不一定都是对的。

无限互联官网:

相关文档
最新文档