【无限互联】学员作品:汽车之家IOS客户端

来源:互联网 发布:晶科能源有限公司 知乎 编辑:程序博客网 时间:2024/04/30 11:50

项目的功能业务:

1:查看各种汽车资讯,例如相关的新闻,视频,评测,行情,用车……按照个人兴趣的信息订阅,分享信息给qq好友等

2:查看汽车发烧友对汽车的评论,自己发评论,参与交流

3:根据汽车不同参数精确查找汽车详细信息,例如根据品牌,结构,排量,配置,价位等参数查找汽车,不同城市的报价,购车信息,车的具体配置参数。自己所在城市4s点车辆信息。



主要功能效果图

                    

                      


架构介绍

这个客户端总体分了5个模块,每个模块都是采用了MVC的架构模式来分离视图与数据的解耦合。Model层我们抽离出了一个BaseModel基类,将JSON数据填充到Model对象的逻辑封装到这个基类中;控制器层,我们抽取出了BaseViewController,将共性的方法与属性定义在这个基类中,例如加载提示、返回按钮、数据请求对象等等;View视图层,需要大量子类化视图控件都抽取出基类,方便以后的扩展与维护,例如:BaseViewBaseCell BaseTableView中我们封装了上拉下拉功能,这样大量上拉下拉的表视图继承这个类就可以了。整体UI界面的创建采用了Storyboard。



技术点介绍


(1)网络请求我们使用开源框架AFNetWorking封装了一个网络请求工具类,实现数据的接受和发送

(2)类与类之间的通信,大量使用了block使代码更简洁紧凑。

(3)接入新浪微博的SDK,QQ的SDK采用OAuth认证,访问新浪和QQ开放平台的网络接口,完成授权登录和分享图文

(4)使用正则表达式,查找需要添加需要添加文字链接和表情的字符串,CoreText绘制表情,实现图文混排

(5)导航控制器的导航返回,采用了时下流行的抽屉式导航返回

(6)BMAdScrollView图片的定时循环播放

(7)瀑布流展示大量图片 collectionview 自定义布局类

(8)SDWebImage 加载网络图片,实现本地缓存

(10)MMDrawerController 左右侧滑效果

(11)SUNSlideSwitch 滑动切换板块,添加删除板块,实现个人兴趣信息订阅

(12)RefreshTableHeaderView 上拉刷新 下拉刷新 MBProgressHUD 加载提示

(13)评论列表,因为有评论还有转发的原评论,视图结构较复杂,自定义了一个布局类,实现评论的布局


收藏,大图循环浏览,点击小图加载大图,模糊搜索功能  ios新特性

新SDK 自定义打开、关闭模态视图的动画

总结

项目的开发过程不仅巩固了过去学习的知识,也学到了很多新知识。因为要解决现实问题所以才推动了技术的发展,把你心中想要的服务,天马行空的想象大胆实现吧。

0 0