一种ios系统中视图控制器的简化方法及装置与流程

文档序号:11519318阅读:326来源:国知局
本发明涉及计算机
技术领域
:,更具体地,涉及ios系统中视图控制器的简化方法及装置。
背景技术
::视图控制器,即viewcontroller,是ios应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,viewcontroller管理应用中的众多视图。ios的sdk中提供很多原生viewcontroller,以支持标准的用户界面,例如表视图视图控制器(uitableviewcontroller)、导航视图控制器(uinavigationcontroller)、标签栏视图控制器(uitabbarcontroller)和ipad专有的uisplitviewcontroller等在移动端的ios开发中,移动端的app是有很多uiviewcontroller或者uitabviewcontroller编码的,其中uitabviewcontroller里面可能会有很多业务逻辑,比如上拉刷新的逻辑,下拉刷新的逻辑,网络加载失败提示用户重新加载提示的界面和逻辑,向后台请求数据,请求的数据为空,告知用户数据为空的占位提示,cell中的逻辑显示,多少个cell,每个cell显示什么,去后台进行网络请求,网络请求的数据处理等逻辑,上述的所有的逻辑都写在视图控制器里面,如果视图控制器里面的业务较复杂,比如网络请求多个,展示的数据类型有多个的时候,视图控制器代码量就较多,代码不便于维护和阅读。因此,急需开发一种使视图控制器简化的方案。技术实现要素:本发明提供一种克服上述问题或者至少部分地解决上述问题的ios系统中视图控制器的简化方法及装置。根据本发明的一个方面,提供一种ios系统中视图控制器的简化方法,包括:将视图控制器中的数据源方法提取至数据源类中。根据本发明的另一个方面,提供一种ios系统中视图控制器的简化装置,包括:提取模块,用于将所述视图控制器中的数据源方法提取至数据源类中。本申请提出一种ios系统中视图控制器的简化方法及装置,通过将ios系统视图控制器中的数据源方法提取至数据源类中,实现了数据源的独立,并且不限于视图控制器的个数,当存在多个视图控制器的个数时,数据源类同时遵守多个视图控制器的数据源代理协议,使得多个ios系统视图控制器都能够复用数据源类。附图说明图1为本发明实施例的ios系统中视图控制器的简化方法示意图。具体实施方式下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。为了克服现有技术中视图控制器中因业务复杂导致的代码量过多的问题,本发明提供了一种通过使用数据源提取的方法减少部分业务逻辑,进而使视图控制器简化的方法。图1示出了ios系统中视图控制器的简化方法的示意图,包括:s0、创建数据源类,所述数据源类继承于nsobject且遵守ios系统视图控制器的数据源代理协议。协议表示了方法可以被任何类所实现,协议本身不是类,至少简单定义了一个其他对象可以实现的接口,ios开发中的一个重要基础知识就是代理(degegate),顾名思义,就是把某个对象要做的事委托给别的对象做,那么别的对象就是这个对象的代理,反应到程序中,首先要明确一个对象的委托方是哪个对象,委托的内容是什么。协议(protocol),就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现s1、将所述ios系统视图控制器中的数据源方法提取至所述数据源类中。数据源方法用于显示数据,通过将ios系统视图控制器中的数据源方法提取至数据源类中,实现了数据源的独立,并且不限于ios系统视图控制器的个数,当存在多个ios系统视图控制器的个数时,数据源类同时遵守多个ios系统视图控制器的数据源代理协议,使得多个ios系统视图控制器都能够复用数据源类。s2、创建数据源类的对象,并为所述对象赋值数组,所述数组包含可显示的数据。类的意思,通俗地说,就是一个具有相同特性的成员的集合,例如人类、机器类、动物类等等,类是不能直接使用的,也就是说,不能说让人类吃饭,只能让某个人吃饭,因此,如果想要完成一件具体的事,必须创建一个具体的对象,对象是ios系统开发语言的一种属性,只用对象去完成视图控制器中待显示列表的显示。s3、当视图控制器的待显示的数据与所述对象中可显示的数据匹配时,视图控制器调用所述对象中的待显示的数据进行显示。在一个实施例中,所述数据源方法包括:展示ios系统视图控制器的代码行数的数据源方法:numberofrowsinsection以及展示ios系统视图控制器的每行代码内容的数据源方法:cellforrowatindexpath。在一个实施例中,所述步骤s3之前还包括:判断待显示的列表与数组中包含的可显示列表是否相同。在一个实施例中,所述数据源方法包括:展示视图控制器的代码行数的数据源方法以及展示视图控制器的每行代码内容的数据源方法。在一个实施例中,所述视图控制器的个数至少为1个。本发明还提供一种ios系统中视图控制器的简化装置,包括:提取模块,用于将所述视图控制器中的数据源方法提取至所述数据源类中。在一个实施例中,简化装置还包括:数据源代理模块,用于创建数据源类,所述数据源类继承于nsobject且遵守视图控制器的数据源代理协议。在一个实施例中,简化装置还包括:对象模块,创建数据源类的对象,并为所述对象赋值数组,所述数组包含可显示的数据。在一个实施例中,简化装置还包括:显示模块,用于当视图控制器的待显示的数据与所述对象中可显示的数据匹配时,视图控制器调用所述对象中的待显示的数据进行显示。在一个实施例中,简化装置还包括:判断模块,用于判断视图待显示的列表与数组中包含的可显示列表是否相同。为了更好地阐述本发明的设计思路,下面结合一个实施例中进行描述。1、创建一个数据源类:qtarraydatasource类,这个类继承于nsobject,nsobject是大多数objective-c类的继承的根类,nsobject没有父类。通过nsobject,其它类继承了一些基础的与objective-c语言编译器装置之间的接口,并且获得了在它的实例中表现为一个对象的能力。qtarraydatasource类使用苹果开发语言的方法,遵守视图控制器的数据源代理协议。ios系统视图控制器为两个,分别为uitableview视图控制器和uicollectionview视图控制器。2、将uitableview视图控制器中的有多少行的数据源方法numberofrowsinsection和每行显示什么内容的方法cellforrowatindexpath放在qtarraydatasource类的qtarraydatasource.m文件中。.m文件主要用来实现.h文件里声明的方法。3、将uicollectionview视图控制器中的有多少行的数据源方法numberofitemsinsection,和每行显示什么内容的方法collectionview:cellforitematindexpath放在qtarraydatasource类的qtarraydatasource.m文件中。.m文件主要用来实现.h文件里声明的方法。4、创建qtarraydatasource类的对象,并且为该对象赋值数组,该数组包含可以显示的数据;在qtarraydatasource类中使用initwithitems函数,将uitableview视图控制器和uicollectionview视图控制器要显示的items赋值给qtarraydatasource类的对象。在一个实施例中,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:将视图控制器中的数据源方法提取至数据源类中。在一个实施例中,本发明公开了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:将视图控制器中的数据源方法提取至数据源类中。最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1