《基于iOS平台的视频播放器的设计与实现毕业设计论文(26页).docx》由会员分享,可在线阅读,更多相关《基于iOS平台的视频播放器的设计与实现毕业设计论文(26页).docx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于iOS平台的视频播放器的设计与实现毕业设计论文-第 17 页毕业论文(设计)题 目 基于iOS平台的视频播放器的设计与实现 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保
2、存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期
3、: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、
4、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类
5、课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它摘 要摘 要 现在,我们已经越来越进入一个信息技术,科学技术都日益发达的时代,在日常生活中,各式各样的视频播放器应用越来越普及,因此开发一款简单方便的视频播放器是非常迎合用户需求的。本课题就是利用互联网技术的传播广泛性来设计实现的一款手机客户端的视频播放器应用。本课题是基于iOS平台下Objective-C开发语言以及C语言来实现,利用系统提供的类以及第三方类库实现数据加载、视频播放和数据处理,主要实现各类视频信息的展示与播放功能。课题所用的数据接口信息来自第
6、三方供应商,数据来源稳定准确。通过测试,基本可以实现观看视频信息与搜索视频信息的功能,应用程序简单易操作,具有很好的用户体验度。关键词 手机客户端;iOS平台;视频播放器;AbstractAbstract: With the progress of science and technology, the rapid development of network technology, smart phones now in Chinas development trend in recent years, everyone is there for all to see, mention sm
7、artphones have to speak phone software, smart power to run from game entertainment to a variety of software for mobile office. Subject is the use of mobile Internet features provide people with better, more full of game strategy. This topic is to use the Object - the C programming language to implem
8、ent the iOS software platform game box, by using the system class and the third-party libraries to realize data refresh and loading, image processing, video playback, and data analysis, user base is bigger, also have good development space and prospects. Data used in the project information from thi
9、rd party suppliers, ensure the accuracy of the data. Subjects in order to improve the user experience, USES the asynchronous thread processing network request and UI display separately, which makes the program more robust is reasonable.目 录1概论21.1课题研发的背景21.2课题研究的目的和意义21.3课题预期的目标22相关技术的介绍22.1软件环境22.2核
10、心技术介绍22.2.1内存管理机制22.2.2oc语言23需求分析23.1软件功能需求分析23.1.1视频信息搜索23.1.2视频信息展示23.1.3视频信息播放23.2软件可行性分析24系统设计24.1对象模型24.2MVC模式25系统实现25.1开发所用的关键类25.2应用程序编码实现25.2.1应用程序工作流程25.2.2应用程序管理类25.2.3应用程序工具类25.2.4应用程序功能实现25.2.5应用程序界面实现25.3应用程序模块实现26系统测试2致谢2参考文献2基于iOS平台的视频播放器的设计与实现1概论现在,我们已经越来越进入一个信息技术,科学技术都日益发达的时代,视频应用已经
11、日益普及。在我们生活中时时可见对于我们的日常生活来说必不可少的高科技产品,比如平板电脑,智能手机等等。几乎在所有的城市当中,每天都可以看到手持手机专心致志地欣赏视频的人们,这在我们工作生活中有着切身体会。1.1课题研发的背景随着如今智能手机的普及,视频应用不仅仅只是在电脑上有很多人使用,越来越多的手机视频应用出现在各种手机平台上。据大致统计,视频应用在丰富我们的日常生活占据重要组成部分,因此开发一款好用又简单的应用对于开发商来说是一件很具有市场前景的不错的选择。1.2课题研究的目的和意义本项目旨在给广大消费者群体提供一个更方便快捷的网络视频平台。提供对人们生活与娱乐的现状的了解,我们明白这个项
12、目的可行性。通过这个项目,人们可以看到自己想要的视频信息,本项目可以通过分类来达到用户的需求,用户可以根据自己的喜好找到网络视频,通过网络和人们普遍使用的手机等通讯工具来度过自己的娱乐和休闲时间。1.3课题预期的目标本课题研究的主要内容是:利用Objective-C和一些第三方类去实现的一款应用软件,通过对网络进行数据解析、UI框架的搭建、第三方库SDWebImage的使用等实现此应用程序的视频信息的展示以及观看等基本的功能。具体的功能如下:2相关技术的介绍就本课题来说,我们所需要的软件支持和技术支持是我们保证开发进度与完成力度的前提。因此对于本课题中所需要的开发技术说明分为如下两部分:软件环
13、境、核心技术简介。2.1软件环境(1) 硬件环境操作系统:Mac OS X 内存容量:8GB硬盘容量:500GB(2)测试环境模拟器测试配置:iOS iPhone 5s iOS版本:iOS 7.1(3)开发环境1.开发该软件使用的开发工具为Xcode6.0版本。2. 开发该软件使用的开发语言为Objective-C,C语言。2.2核心技术介绍本课题是基于iOS技术利用OC开发语言实现的,使用Xcode编程软件进行开发的,因此我们在进行开发之前需要了解OC中内存管理机制、iOS发展历程、OC语言以及开发工具Xcode等等。2.2.1内存管理机制内存管理是程序设计中常用的资源管理的一部分8。每个计
14、算机系统可供程序使用的资源都是有限的,这些资源包括内存、打开文件数量以及网络连接等。iOS系统为每个应用程分配30MB的内存,超过20MB会收到内存警告,如果超过30MB,系统将会终止你的应用程序,也就是我们熟悉的闪退2。因此我们需要时时的对应用程序进行内存管理。在Objective-C中,对象不断地被其他对象创建、使用和销毁,为了保证程序不产生额外的内存开销,当对象不再需要以后,应当被立即销毁,防止内存泄露8。Objective-C中有一套很完善的内存管理机制,我简单地将它归纳为以下几条:1.对你自己拥有的对象负责。你只能释放你拥有的对象。2.凡是你通过retain,alloc,copy等手
15、段获得了所有权的对象,都必须在你不再使用它的时候,由你来调用release,autorelease等手段来释放对它的所有权。3.在一定的代码段内,对同一个对象所作的copy,alloc和retain的操作次数应当与release和autorelease操作次数相同12。4.可以在类的dealloc方法中释放你所占有的实例变量。2.2.2oc语言Objective-C是一门面向对象的编程语言7。Objective-C语言具有三大特征:封装,继承和多态3。封装:隐藏内部实现,稳定外部接口。继承:子类可以直接复用父类中的成员。多态:不同对象对同一消息的不同响应。3需求分析3.1软件功能需求分析在开发
16、进行之前,我们需要了解我们开发的项目需要实现的功能模块。就本课题来说,视频播放类的APP,最重要的就是视频信息的展示、搜索与播放。下面就单个模块对整个系统实现进行分析。3.1.1视频信息搜索视频信息搜索是视频播放器的功能之一,它主要使用了官方提供的一个系统类,并通过对网址url进行拼接参数实现搜索结果,进行界面展示。用户可以在搜索栏上输入自己想要查询的视频信息名称,应用程序把用户输入的字符作为参数通过拼接网址传给服务器,服务器会返回一个json类型的数据字典,这些数据是通过NSJSON解析处理后,用一个collectionView集合视图来显示返回来的数据并展示在UI界面之上的。3.1.2视频
17、信息展示视频信息展示是视频播放器的主要功能,它主要是根据网络接口数据分析解析并通过UI界面布局之后进行界面展示。程序启动之后,展示在界面上的就是推荐界面的视频信息,用户可以通过点击进入视频模块分区界面。并且根据自己喜好选择自己喜欢的视频信息,进行播放。信息展示主要是通过接口请求到数据进行JSON解析,并将数据保存在字典中,启动程序后,就会进行网络数据请求,回传到的数据展示在UI界面就形成了我们看到的视频信息。3.1.3视频信息播放该视频应用是在webView上面进行在线播放的APP。用户点击视频信息名称,应用程序把用户点击事件获得的参数拼接的网址传给服务器,服务器直接访问对应的播放来源的网站进
18、行在线播放。在程序中每个视频信息都可以通过点击事件来响应视频播放的方法。视频播放主要是通过接口数据得到网址信息,并且选择播放来源时拼接不同的参数来实现在不同网站上播放同一个视频信息的功能。3.2软件可行性分析当前社会是一个信息化的社会,信息的传播无处不在,而且苹果产品的普及也给该系统提供了很好的推广前景。就消费者而言,苹果手机已成为各种消费者群体争先追捧的智能产品。它以及华丽的外形,超高的用户体验度一直强势地占领市场。以此,就社会性而言,该视频应用是非常合时宜的。此系统硬件、软件要求不高,目前市场上的一般计算机硬件资源(例如Mac mini)均能满足系统开发要求,其中开发工具为Xcode。系统
19、技术采用iOS开发技术,OC开发语言,扩展性强。以上技术足以完成本系统的开发与设计。本系统的开发完全可以利用现有硬件条件,不需增加新的硬件设备。开发所涉及的软件使用的均为免费版本,开发后的应用免费提供给用户,让用户能轻松享受娱乐时光。系统开发基本无需其他开销,费用支出可忽略不计,所以本软件具有极高的经济可行性。4系统设计在完成了对课题的所需技术介绍以及需求分析之后,我们就要对系统实现所需的各种具体类与方法进行设计。在iOS开发过程中,我们一般使用MVC框架对我们的代码模块进行管理,保证类与类之间不冲突,方法与方法之间可复用,代码不冗余。对于本课题而言,我们主要通过对使用对象模型的分析设计,MV
20、C模式的设计来完成系统的设计纲要。4.1对象模型本课题设计的视频播放器应用程序主要由四大对象UIApplicationMain,UIApplicationDelegate,UIWindow,UIViewController组成,具体的介绍及关系图如图4-1所示:(1)UIApplicationMain在main.m的main函数中执行了UIApplicationMain这个方法,这是iOS程序的入口点9。(2)UIApplicationDelegate在开发过程中,UIApplication是一个非常重要的全局对象。但在实际编程中我们并不直接和UIApplication对象打交道,而是和其代理
21、打交道,它的代理必须遵循UIApplicationDelegate协议,代理提供了相关的生命周期方法来处理应用程序的系统事件9。(3)UIWindowUIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow,但可以手动创建多个UIWindow10。UIWindow的主要作用是提供一个区域来显示视图;将事件分发给视图控制器;与UIViewController协调工作,方便完成设备方向旋转的支持。(4)UIViewControllerUIViewController属于MVC模型中的C(Controller),说的具体点是它是一个视图控制器,管理着一个视图(UIVie
22、w)10。图4-1 四大对象关系图4.2MVC模式系统中主要使用MVC模式,MVC模式是Apple iOS开发需要遵循的设计模式11。它把一个页面分为三部分。M代表Model,也就是模型,通常是一些模型类(例如LDLModel类),用于存储数据。View代表视图,用于显示数据。C代表控制器(Controller),用于控制M和V的同步和协调。当数据改变的时候,要让视图显示更新的数据。一个应用程序通常是多个这样的页面组成。它的优点是:(1)低耦合性。(2)重用性高。(3)可维护性好。在本系统中就应用了MVC设计模式对代码进行封装和分离,具体MVC结构模型图如图4-2所示:图 4-2 MVC模型关
23、系图5系统实现通过对系统实现需求的设计,我们大致了解我们开发所用的类、框架与模型。就进入了真正的系统实现模块,首先我们要了解在开发过程中我们所用到的类与类之间的关系,方便开发。然后根据我们需要实现的功能进行代码的封装,从而实现代码的复用与模块化。5.1开发所用的关键类UI即User Interface(用户界面)的简称。UI设计是指对软件的人机交互、操作逻辑、界面美观的完整设计。UI处于iOS四层结构的最上层(Cocoa Touch),并且放置在UIKit框架下,它跟用户的操作息息相关,所以包含的控件也特别多12。子类与父类之间继承关系如图5-1-1所示:图 5-1-1 子类与父类之间继承图在
24、本课题的程序实现里面主要用到的控件大致如下:(1)显示类UILabel 展示信息,在应用程序中主要用于展示视频信息等等。UIButton 按钮,在应用程序中只要用于相应用户点击时间,比如点击“更多”按钮进入详情界面,点击“历史记录”按钮进入观看历史记录界面。UIAlertView 警告视图,在应用程序中主要用于展示删除的弹窗警告,给用户更好的体验,选择权在用户手中。UIView 视图,在应用程序中主要用于展示视频信息,并在视图上进行相应的操作。UINavigationBar 导航条,在界面上展示导航条的位置,方便我们根据导航控制器来控制界面跳转及操作。UITableView 表视图,在应用程序
25、中主要在单元格上展示视频信息,设置信息等等。UICollectionView 集合视图,在应用程序的推荐界面和分类界面都是集合视图来展示分区信息。UIImageView 图片视图,在应用程序中有图片的展示信息都是加载在UIImageView视图之上的。UIScrollView 滚动视图,在应用程序主界面轮播图是使用UIScrollView和UIPageControl控件实现的。UIWebView 网页视图,在应用程序中视频播放界面是UIWebView加载实现的。(2)功能类使用NSDate 处理日期和时间,在应用程序中显示时间和刷新时间。NSTimer 定时器,在应用程序中添加动画效果开始时间
26、,添加定时器。NSURL 网络路径,在应用程序中封装网络路径。NSURLRequest 网络请求,在应用程序中设置一些网络的请求信息。NSError 在应用程序中使用到是用来接收网络请求中的错误信息。NSData 数据,在应用程序中把一些信息写入到文件里或发送到网络上,我们需要把这些数据转换下,变成纯粹的0、1字符流使用到NSData类。NSNotification 通知,在应用程序中用于界面传递信息,在播放界面和历史记录界面有使用到通知的发送和接收。NSJSONSerialization 数据解析,在应用程序中主要用于解析网络数据,主要分为XML和JSON解析,在应用程序中主要用到JSON解
27、析数据。NSOperationQueue 队列,在应用程序中主要用于对对象进行队列操作。5.2应用程序编码实现应用程序是我们通过编码实现UI界面展示,响应并处理用户事件的最重要的一部分,几乎所有的功能实现都是基于代码的书写来完成的。下面就应用程序的工作流程、编码实现进行介绍。5.2.1应用程序工作流程应用程序是基于iOS技术开发实现的,根据需求,我们需要设计包含主界面以及很多的子类界面。主界面有:推荐界面、分类界面、搜索界面、设置界面。子类界面有分类详情界面、剧集选择界面、播放界面、历史记录界面等等。主界面之间实现用户对视频信息的选择与展示,并响应用户点击事件。例如:用户点击每个集合视图的it
28、em时可以跳转到模块分类详情界面;点击模块分类详情界面会跳转到视频信息详情界面,并选择剧集实现播放视频的功能。主页面主要负责整个应用程序的视频信息,通过添加手势来实现与下级界面的交互,它的信息播放以及视频信息详情展示都由下级页面来完成。整个界面看起来美观简洁,使得用户使用起来一目了然。而且通过界面代码实现的复用,很好的降低代码冗余,使得程序运行更加流畅,占据内存空间更小。根据上面的详细的介绍,我们大概有所了解客户端的整的整个流程。客户端的流程图如4-2-1图所示:图 4-2-1 视频播放流程图5.2.2应用程序管理类(1)管理类 LDLManager在程序运行中很多地方要使用到网络数据处理,通
29、过实现一次代码书写多处模块复用的功能,这就是OC语言封装的概念的具体体现。下面的代码就是实现文件归档保存数据的方法的声明。具体在需要用到将数据保存在本地的模块调用这个方法即可。typedef enum ModelPackageTypeRefresh,/刷新数据 ModelPackageTypeLoadingMore/加载更多ModelPackageType;+ (id)manager;/沙盒存储- (NSString *)filePath:(NSString *)string;/归档文件的保存路径- (void)save:(NSString *)string;/保存数据到硬盘的方法+ (id)
30、manager;方法是一个便利构造器方法,表明manager这个对象在程序运行过程中一直存在,不被销毁。- (NSString *)filePath:(NSString *)string;/归档文件的保存路径- (void)save:(NSString *)string;/保存数据到硬盘的方法以上两个方法实现将数据保存在本地,归档保存,实现数据持久化。(2)LDLBaseModel类,继承自NSObject在数据处理时,很多时候网络接口返回的数据都是字典类型,声明一个字典的初始化以及便利构造器方法,使得在要将数据存储在字典里时直接调用LDLBaseModel这个类封装的字典方法,避免使用一次就
31、初始化一次,减少代码冗余。封装方法字典保存数据,为之后网络数据解析与封装做铺垫,并且有利于代码的复用。interface LDLBaseModel : NSObject- (id)initWithDictionary:(NSDictionary *)dictionary;+ (id)modelWithDictioanry:(NSDictionary *)dictionary;- (id)initWithDictionary:(NSDictionary *)dictionary if (self = super init) return self;+ (id)modelWithDictioanr
32、y:(NSDictionary *)dictionary return self class alloc initWithDictionary:dictionary autorelease;end5.2.3应用程序工具类iOS中提供了一个工具条类,通过它我们可以管理导航控制器,而每个导航控制器管理一个视图控制器,所以我们一般用它来管理整个应用程序的使用流程。本应用软件共有四大模块,名称分别为:推荐、分类、搜索、设置。一下代码分别实现的是添加视图控制器,并且设置tabBar为window的根视图控制器。为之后界面跳转以及选择提供方便。代码如下:LDLRecommendTableViewContr
33、oller *recommendVC = LDLRecommendTableViewController alloc initWithStyle:UITableViewStylePlain; UINavigationController *recommendNC = UINavigationController alloc initWithRootViewController:recommendVC; recommendVC release; recommendNC.tabBarItem = UITabBarItem allocinitWithTitle:推荐 image:UIImage im
34、ageNamed:tabbtn_home imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal selectedImage:UIImage imageNamed:tabbtn_home_selected imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal; UICollectionViewFlowLayout *layout = UICollectionViewFlowLayout alloc init; layout.itemSize = CGSizeMake(90,
35、 170); layout.sectionInset = UIEdgeInsetsMake(5, 10, 0, 10); LDLClassifyViewController *classifyVC = LDLClassifyViewController alloc initWithCollectionViewLayout:layout; classifyVC.collectionView.backgroundColor = UIColor colorWithRed:220/ 255.0 green:220 / 255.0 blue:220 / 255.0 alpha:1; layout rel
36、ease; UINavigationController *classifyNC = UINavigationController alloc initWithRootViewController:classifyVC; classifyVC release; classifyNC.tabBarItem = UITabBarItem alloc initWithTitle:分类 image:UIImage imageNamed:tabbtn_cat imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal selectedImage:U
37、IImage imageNamed:tabbtn_cat_selected imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal; LDLSearchViewController *searchVC = LDLSearchViewController alloc init; UINavigationController *searchNC = UINavigationController alloc initWithRootViewController:searchVC; searchVC release; searchNC.tab
38、BarItem = UITabBarItem allocinitWithTitle:搜索 image:UIImage imageNamed:tabbtn_search imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal selectedImage:UIImage imageNamed:tabbtn_search_selected imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal; LDLSettingTableViewController *settingVC =
39、LDLSettingTableViewController alloc initWithStyle:UITableViewStyleGrouped; UINavigationController *settingNC = UINavigationController alloc initWithRootViewController:settingVC; settingVC release; settingNC.tabBarItem = UITabBarItem allocinitWithTitle:设置 image:UIImage imageNamed:tabbtn_more imageWit
40、hRenderingMode:UIImageRenderingModeAlwaysOriginal selectedImage:UIImage imageNamed:tabbtn_more_selected imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal; UITabBarController *tabBar = UITabBarController alloc init; tabBar.viewControllers = recommendNC, classifyNC, searchNC, settingNC; self.w
41、indow.rootViewController = tabBar; tabBar release; 5.2.4应用程序功能实现iOS开发中常用到的消息传递或传值有属性传值,通知等等13。通知是iOS开发框架中的一种设计模式,内部的实现机制由Cocoa框架支持,通常用于控制视图和模型的交互14。NSNotification对象非常简单。它就是poster要提供给observer的信息包裹。它的对象包含一个参数,就是字典(可选参数),这个字典中存储一些传值过程中的信息。这就是通知实现的原理,也是界面之间功能实现传值的原理。在该项目中就用到了两种传值方式。上述代码是实现通知传递消息,在要监听的界面
42、发送通知,在要接收的界面接收通知,这点在历史记录界面也有用到。示例代码如下:- (void)viewDidLoad super viewDidLoad; self addHeader; self _setupNavigationBar; LDLManager manager packageModelWithType:ModelPackageTypeRefresh withURLString: withIdentifier:TuiJian; /让当前视图控制器成为通知的观察者 NSNotificationCenter defaultCenter addObserver:self selector
43、:selector(refreshUserInterface) name:kModelsDidFinishPackingNotification object:nil; self.tableView registerClass:LDLTableViewCell class forCellReuseIdentifier:tableViewCell; self.tableView registerClass:ScrollCell class forCellReuseIdentifier:ScrollCell;- (void)refreshUserInterface self.dataSource
44、= LDLManager manager dataSourceTuiJian; self.tableView reloadData;5.2.5应用程序界面实现(1)网络数据处理应用程序中通过响应用户点击事件,并通过的封装网络请求方法实现网络请求事件处理的复用,完成各个模块的网络请求。通过对点击事件的处理,获取点击事件的参数拼接到网址之中,并且对于网络数据的请求处理进行分类,对于数据接口返回的数据,使用NSJSON解析并将数据保存在字典中。方便我们对于数据进行层层处理,并且根据请求方式不同改变参数。示例代码如下:NetworkManager *network = NetworkManager m
45、anagerWithDelegate:self; network.HTTPType = GET; network.URLString = NSString stringWithFormat: model.category, model.ID; network startAcquire;对网络数据解析,调用系统的NSJSONSerialization类来对数据进行解析,得到的数据保存在字典中,在根据所用属性遍历字典完成对数据的封装,按照封装的Model类填充单元格,并展示在UI界面上。示例代码如下:-(void)manager:(NetworkManager *)manager didFinishLoadingWithInfo:(id)info NSDictionary *jsonDic = NSJSONSerialization JSONObjectWithData:info options:NSJSONReadingMutableContainer