预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于iOS的团购APP的设计与实现常丹妮+郭铭+高耳+郭勇+童亚拉(通讯)(1武汉睿升学校高三(四)班湖北武汉430022;2湖北工业大学理学院湖北武汉430068)摘要:目前团购网站的海量信息,时常让消费者苦恼于如何选择。基于此,本软件基于iOS开发了一款团购APP,消费者可获得良好的客户体验。本软件充分考量APP的界面、用户按钮功能、商品呈列及交易详情,并添加了地图定位模块,提供商品地点的实时定位;添加搜索功能模块,用户可随时查询并购买产品。调试运行的结果表明,该系统运行正常,人机界面交互性较好。关键词:iOS;团购APP;地图定位;用户体验基金项目:湖北省教育厅人文社科重点项目(14D022);湖北工业大学校大学生创新创业项目网络团购便于消费者找到适合产品,方便快捷,价格低廉。国内出现了许多优秀团购产品,如淘宝、京东,美团、大众点评等。随着APP时代的来临,商家纷纷从PC端转移到手机移动客户端。在此背景下,本文研究基于iOS的团购APP,其目的是设计实现一款客户体验良好的购物软件。1开发平台以及相关技术1.1MacOS平台MacOSX是基于UNIX系统的、采用“面向对象操作系统”的操作系统。它采用C、C++、Objective-C、Swift编程,且为闭源编码。OSX的特点是设计简单直观高效、安全易用、高度兼容、功能强大、设计新颖。不仅稳定性强,还支持互联网标准。本文设计基于MacOS平台开发,运用平台下的Xcode开发工具,在cocoaTouch框架上利用MVC设计模式实现本款APP[1]。1.2CocoaTouch框架结构CocoaTouch是一款由苹果公司提供的软件开发API,用于开发iPhone\iPod\iPad软件[2],也是应用程序快速开发的一个类库,此库支持开发人员使用用户界面元素构建图像化事件驱动的应用程序[3]。其功能是用Objective-C语言实现的,作为C超集,可将C、C++融入CocoaTouch应用程序中。除UIKit之外,包含创建iOS应用程序的所有框架,从3D图形、专业音频到网络,甚至提供特殊设备访问API以控制摄像机或从GPS硬件获取地理位置[4]。1.3运行环境Xcode是本文所用开发工具:运行于Mac操作系统下,是苹果公司向开发人员提供的集成开发环境(非开源),用来开发MacOSX和iOS的应用程序。在开发过程中,项目运行在Xcode的iPhone模拟器上,编译运行,测试各功能模块,如同在真机上运行一样[5]。2团购APP的设计与实现2.1团购APP的设计思路本APP的设计思路是:在完成需求分析后,依据MVC设计模式,在第三方库的支持下,规划UI,完成图标及启动图片、导航栏的设置,设计商品分类、城市分类下拉菜单,封装并实现一个通用下拉二级菜单;完成网络数据的处理,运用MVC设计模式,通过视图控制器控制UI与数据模型间的交互,将团购数据显示到界面上,最后通过自定义分栏控制器实现供iPadAPP分栏控制器,通过左侧分栏界面实现部分功能。2.2团购APP的设计目标要求界面外观时尚,满足消费者酷炫操作体验,操作流畅舒适;软件功能上,进一步对传统团购APP拓展,商品涵盖面广泛,添加地图定位功能,用户指定区域及商品可在地图上指示位置分布;软件操作上,用户无需验证,便于忘记账号密码时不影响交易。2.3团购APP的功能模块设计与实现本APP的功能模块主要包括主界面、导航栏、商品的分类、切换城市、商品排序、地图、搜索栏等功能模块,鉴于文章篇幅,仅阐述商品分类功能模块。开发时,创建一个带xib文件的CatagoryViewController,并添加两个左右平齐的tableView,分别为主、子tableView。通过AutoLayout添加约束条件让tableView填满xib文件的View视图,且大小相等、居中对齐。在Catagory类文件中引入IB连线导入tableView,并定义一个Catagory类的数组,运用懒加载的方法以减小内存开销。设计tableView内容时,引入核心协议tableViewDataSource和tableViewDelegate以及实现的方法:tableView的节数、每节的行数及每行的内容。这里,tableView只需一节,根据plist文件的模型数据的类数通过Cell的重用机制完成数据分类的加载。实现每一行内容编辑时,需在每行左侧添加背景图,完成对其右边分类描述。通过导入在Model层创建的Catagory类数据,完成每项数据对每行Cell对应text的内容编写。若要实现用户点击左侧主tableView上某一项分类,界面自动弹出右侧子tableView,显示某一分类的所有二级子分类,首先判断左侧主分类是否有二级子分类,若没有,主界面自动刷新用户所要查询的商品种类;