项目的功能业务:
1:查看各种汽车资讯,例如相关的新闻,视频,评测,行情,用车……按照个人兴趣的信息订阅,分享信息给qq好友等
2:查看汽车发烧友对汽车的评论,自己发评论,参与交流
3:根据汽车不同参数精确查找汽车详细信息,例如根据品牌,结构,排量,配置,价位等参数查找汽车,不同城市的报价,购车信息,车的具体配置参数。自己所在城市4s点车辆信息。
主要功能效果图
架构介绍
这个客户端总体分了5个模块,每个模块都是采用了MVC的架构模式来分离视图与数据的解耦合。Model层我们抽离出了一个BaseModel基类,将JSON数据填充到Model对象的逻辑封装到这个基类中;控制器层,我们抽取出了BaseViewController,将共性的方法与属性定义在这个基类中,例如加载提示、返回按钮、数据请求对象等等;View视图层,需要大量子类化视图控件都抽取出基类,方便以后的扩展与维护,例如:BaseView、BaseCell, 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 自定义打开、关闭模态视图的动画
总结
项目的开发过程不仅巩固了过去学习的知识,也学到了很多新知识。因为要解决现实问题所以才推动了技术的发展,把你心中想要的服务,天马行空的想象大胆实现吧。