什么值得买ios客户端

来源:互联网 发布:可牛软件官方下载 编辑:程序博客网 时间:2024/05/16 18:02

一、什么值得买ios客户端功能简介

什么值得买ios客户端是类似于商品推荐的一款手机移动客户端,他的主要功能如客户端的名字推荐一些值得买的商品,它推荐的商品不仅仅是国内的商品,不仅仅是某家网站,或者是某家实体店,它可以推荐海外的优惠商品,不论什么网站或实体店,而且每个商品都可以进入详情页面,里面有购买地址,有商品的评价,以及商品的功能等信息。另外这款应用也提供了晒物广场和经验盒子,也是可以给“shopinger“一个好的推荐,可以让用户更加了解一款商品,让他们不会被无良商家坑,而且这款应用还有分类功能哦,分类的也是很详细的,而且也推荐了一些排行榜上面靠前的应用。

这款应用给了喜欢海淘,喜欢购物的,但是又不想买到“坑爹”的商品一个方便,可以让他们不出门也能买到称心的物品,这个应用还提供了方便的搜索功能,可以让你的心意物品更容易被发现,而且什么值得买ios客户端也尽量的简化也不必要的操作,尽可能的减少用户的冗余操作事件,喜欢购物就来用它把。。


二、项目成果展示

首先是app的首页


分类功能页面


个人中心页面


搜索页面


物品详情页面


评论页面


经验页面,这个页面喜欢淘的可以多看看哦


三、项目完成内容的具体介绍

整体架构:

整体上每个模块都采用的传统的mvc架构,它可以更好的控制视图和数据之间的联系,使数据和视图解耦合。这个客户端整体上分为商品展示,商品信息详情,商品搜索,商品评论,商品经验和晒物与菜单等。整体的mvc模块里面,我们在controller层,创建了一个baseviewcontroller,这样可以把相同的代码放在里面,可以减少代码的冗余度,并且可以方便的管理控制器,而且我们还分离搜索控制器,同样是为了减少代码冗余和增加控制的可管理性与扩展性。在model层,我们创建了一个basemodel,这样我们可以简洁的把请求下来的数据装换成我们想要的类的形式,并且在请求数据的时候,我们封装了一个请求数据的类,这样可以减少请求数据时地址错误和请求方式的错误。在view层,我们也分离了一个tableview,同时在tableview里面添加了一些视图都需要的控件。

在分类菜单模块中,我们采用的第三方控件MMDrawerController,这样可以方便的创建两个抽屉式控制器,在左边控制器里面我们创建一个分类信息裂变,为了使分类关键字和页面之间的数据传递,我们采用了通知模式,这样可以方便的在页面控制器里面获取分类数据。在右边菜单里面我们创建了个人中心,里面有一些响应的设置。在商品展示里面,我们使用的常用的tableview,这样可以是视图利用率最大化,在tableview头视图我们使用了一个scrollview来显示一些比较好的信息,商品搜索,评论基本类似。

细节技术点:

1、侧滑栏原理是封装一个容器类的视图控制器,作为中间视图和左右侧滑控制器的容器。使用了第三方控件MMDrawerController,采用了抽屉式的方式,分为左右两个。

2、主页tableview头视图信息展示,采用了srollerview来循环的显示图片,原理就是在图片的前面加一张最后一张图片,在后面加第一张图片,为了能让它自动转换图片,我们采用一个定时器来控制就行了。

3、在主页的tableview上,当滚动tableview时,会有商品的发布时间,我们采用了第三方控件ACTimeScroller,其原理很简单,就是判断当前的contentoffset和总得contentsize和高度比率来确定滑动条的位置,在确定其单元格,然后就可以显示时间了。

4、在商品详情,我们采用的webView来实现图文混排,当然数据格式最好采用html,这样图文布局比较方便调整。

5、当我们切换页面时,我们的分类信息也会改变,我们通过主的tabviewcontriller来发送一个通知,在分类控制器里面监听就行,然后改变文件路径,最后刷新tableview就OK了,这有点想微博的主题管家。

6、在搜索页面弹出时,我们采用了ios7新的API接口,我们创建了一个动画控制器,实现API的协议方法来自定义控制器的弹出动画。

7、在发现页面,我们采用第三方布局类CHTCollectionViewWaterfallLayout,这样我们就可以实现瀑布流,原理上就是用布局类来控制单元格的布局方式,设置其显示位置,具体布局还不是特别清楚。

总结:在这个app开发过程中,开始计划是开发90%的功能,但是我低估这个app,一些小的细节,我可能要处理很久,想要完全实现一样的效果,感觉有时候挺难,但是我也学到了,细节的实现往往也是很重要的。在整个过程中,由于时间原因,不得不去找第三方框架,但是找到之后的使用方法确实让人很头疼,这也告诉了我,在自己写第三方开源代码时,要尽量封装好接口,尽量使使用方式简洁,而且也必须进行严格的代码bug测试,必须要减少bug。最后还有一个就是数据的处理,对于数据处理,我觉得对于我们不知道返回数据的含义,在处理数据上我们要花上很多时间来解析,分析它,而且在使用过程中当返回数据不一致时,我深深的明白了,团队之间的沟通是一定不能少的,因为返回的数据格式不一样,可能让程序员多花很多时间处理数据。最后10来天的开发,让我明白,整体结构很重要,细节处理更重要,而且在分离相同代码时,尽量考虑接口使用问题,尽量简洁,易懂。

0 0