本发明专利技术实施例提供了一种简化代码的方法和装置,用于简化UIViewController中的代码。所述方法包括:创建界面控制器类、目标功能类和目标功能代理类,所述目标功能类用于实现目标应用的目标功能;在所述界面控制器类中创建所述目标代理类的目标代理对象;控制所述目标代理类代理所述目标功能类,以使得通过所述目标代理对象能够监听所述目标功能类的方法,进而界面控制器类能够监听所述目标功能类。
Method and device for simplifying code
Embodiments of the present invention provide a method and apparatus for simplifying code for simplifying code in UIViewController. The method includes: creating interface controller class, target function and target function of the proxy class, the target function used to achieve the target application goal function; create the target agent object proxy class in the class interface controller; control of the target agent agent of the target function, in order to make the target through the proxy object method to listening to the target class, then the class interface controller can monitor the target function.
【技术实现步骤摘要】
一种简化代码的方法和装置
本专利技术涉及计算机
,尤其涉及一种简化代码的方法和装置。
技术介绍
随着智能设备的广泛使用,应用的功能也越来越丰富。以直播应用为例,用户使用直播应用时,大部分时间都停留在直播页面观看直播视频。直播页面需要为用户提供大量功能,例如发送弹幕、聊天、发送虚拟礼物、接收虚拟礼物、充值、屏蔽用户、举报用户、观看直播、调节亮度、调节声音和旋转屏幕方向等。在现有技术中,上述直播页面的功能对应的各个代理以及代理协议都容置在界面控制器UIViewController中。因此,使得UIViewController中包含了大量代码。然而,过多的代码会给功能扩充和维护应用带来困难。
技术实现思路
本专利技术实施例提供了一种简化代码的方法和装置,用于简化UIViewController中的代码。第一方面,本专利技术提供了一种简化代码的方法,包括:创建界面控制器类、目标功能类和目标功能代理类,所述目标功能类用于实现目标应用的目标功能;在所述界面控制器类中创建所述目标代理类的目标代理对象;控制所述目标代理类代理所述目标功能类,以使得通过所述目标代理对象能够监听所述目标功能类的方法,进而界面控制器类能够监听所述目标功能类。可选的,创建界面控制器类、目标功能类和目标功能代理类,包括:创建界面控制器类的头文件和源代码文件;创建目标功能类的头文件和源代码文件;创建目标代理类的头文件和源代码文件。可选的,控制所述目标代理类代理所述目标功能类,包括:控制所述目标代理类继承缺省基类NSObject类;控制所述目标代理类遵守所述目标功能类的代理协议。可选的,在所述界面控制器类中创建所述目标代理类的目标代理对象,包括:在所述界面控制器的源代码文件中创建所述目标代理类的目标代理对象。可选的,所述方法还包括:所述目标功能类中不能通过方法回调的代码通过performSelector方法回传到所述界面控制器类的源代码文件中。第二方面,本专利技术提供了一种简化代码的装置,包括:第一创建模块,用于创建界面控制器类、目标功能类和目标功能代理类,所述目标功能类用于实现目标应用的目标功能;第二创建模块,用于在所述界面控制器类中创建所述目标代理类的目标代理对象;控制代理模块,用于控制所述目标代理类代理所述目标功能类,以使得通过所述目标代理对象能够监听所述目标功能类的方法,进而界面控制器类能够监听所述目标功能类。可选的,所述第一创建模块用于创建界面控制器类的头文件和源代码文件,创建目标功能类的头文件和源代码文件,创建目标代理类的头文件和源代码文件。可选的,所述控制代理模块用于控制所述目标代理类继承缺省基类NSObject类;控制所述目标代理类遵守所述目标功能类的代理协议。可选的,所述第二创建模块用于在所述界面控制器的源代码文件中创建所述目标代理类的目标代理对象。可选的,所述装置还包括回传模块,用于所述目标功能类中不能通过方法回调的代码通过performSelector方法回传到所述界面控制器类的源代码文件中。本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:在本专利技术实施例的技术方案中,首先创建界面控制器类、目标功能类和目标功能代理类,其中,目标功能类用于实现目标应用的目标功能,然后在界面控制器类中创建所述目标代理类的目标代理对象,以及控制所述目标代理类代理所述目标功能类。相较于现有技术中将各个目标代理对象和代理方法均创建在界面控制器类中,由于本专利技术实施例以目标代理类代理目标功能类,同时将目标代理类的目标代理对象创建在界面控制器类中,所以,使得目标代理对象可以监听未在界面控制器类中的目标功能类的方法,由此使得界面控制器可以正常监听目标功能类。由此可见,本专利技术实施例中的目标功能类不在界面控制器类中,所以简化了界面控制器的代码,便于维护。附图说明图1为本专利技术实施例中的简化代码的方法流程图;图2为现有技术中UIViewController和代理方法的架构示意图;图3为本专利技术实施例中UIViewController、代理方法和目标代理对象的架构示意图;图4为本专利技术实施例中的简化代码的装置结构示意图。具体实施方式本专利技术实施例提供了一种简化代码的方法和装置,用于简化UIViewController中的代码。为了解决上述技术问题,本专利技术提供的技术方案思路如下:在本专利技术实施例的技术方案中,首先创建界面控制器类、目标功能类和目标功能代理类,其中,目标功能类用于实现目标应用的目标功能,然后在界面控制器类中创建所述目标代理类的目标代理对象,以及控制所述目标代理类代理所述目标功能类。相较于现有技术中将各个目标代理对象和代理方法均创建在界面控制器类中,由于本专利技术实施例以目标代理类代理目标功能类,同时将目标代理类的目标代理对象创建在界面控制器类中,所以,使得目标代理对象可以监听未在界面控制器类中的目标功能类的方法,由此使得界面控制器可以正常监听目标功能类。由此可见,本专利技术实施例中的目标功能类不在界面控制器类中,所以简化了界面控制器的代码,便于维护。下面通过附图以及具体实施例对本专利技术技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本专利技术第一方面提供了一种简化代码的方法,请参考图1,为本专利技术实施例中简化代码的方法流程图。该方法包括:S101:创建界面控制器类、目标功能类和目标功能代理类,所述目标功能类用于实现目标应用的目标功能;S102:在所述界面控制器类中创建所述目标代理类的目标代理对象;S103:控制所述目标代理类代理所述目标功能类,以使得通过所述目标代理对象能够监听所述目标功能类的方法,进而界面控制器类能够监听所述目标功能类。具体来讲,界面控制器UIViewController类是用于控制界面的类。目标应用例如直播应用、购物应用、聊天应用或修图应用等,本专利技术不做具体限制。目标功能为目标应用的功能,例如目标应用为直播应用,目标功能为充值功能、赠送虚拟礼物功能、聊天功能和调节亮度功能等。在具体实现过程中,本专利技术所属领域的普通技术人员可以根据目标应用需要安装的客户端的实际情况创建界面控制器类、目标功能类和目标功能代理类,本专利技术不做具体限制。其中,在本专利技术实施例中,S101中创建界面控制器类、目标功能类和目标代理类可以通过如下过程实现:创建界面控制器类的头文件和源代码文件;创建目标功能类的头文件和源代码文件;创建目标代理类的头文件和源代码文件。为了方便说明,本专利技术将假设目标应用将安装的客户端设备的智能系统为苹果移动设备操作系统iso,进而本专利技术实施例中创建界面控制器类、目标功能类和目标代理类将使用Xcode进行创建。Xcode是苹果公司开发的编程软件。使用Xcode创建类时,需要创建类的头文件(.h文件)和源代码文件(.m文件)。因此本专利技术实施例在创建界面控制器类、目标功能类和目标功能代理类时,也需本文档来自技高网...
【技术保护点】
一种简化代码的方法,其特征在于,包括:创建界面控制器类、目标功能类和目标功能代理类,所述目标功能类用于实现目标应用的目标功能;在所述界面控制器类中创建所述目标代理类的目标代理对象;控制所述目标代理类代理所述目标功能类,以使得通过所述目标代理对象能够监听所述目标功能类的方法,进而界面控制器类能够监听所述目标功能类。
【技术特征摘要】
1.一种简化代码的方法,其特征在于,包括:创建界面控制器类、目标功能类和目标功能代理类,所述目标功能类用于实现目标应用的目标功能;在所述界面控制器类中创建所述目标代理类的目标代理对象;控制所述目标代理类代理所述目标功能类,以使得通过所述目标代理对象能够监听所述目标功能类的方法,进而界面控制器类能够监听所述目标功能类。2.如权利要求1所述的方法,其特征在于,创建界面控制器类、目标功能类和目标功能代理类,包括:创建界面控制器类的头文件和源代码文件;创建目标功能类的头文件和源代码文件;创建目标代理类的头文件和源代码文件。3.如权利要求2所述的方法,其特征在于,控制所述目标代理类代理所述目标功能类,包括:控制所述目标代理类继承缺省基类NSObject类;控制所述目标代理类遵守所述目标功能类的代理协议。4.如权利要求3所述的方法,其特征在于,在所述界面控制器类中创建所述目标代理类的目标代理对象,包括:在所述界面控制器的源代码文件中创建所述目标代理类的目标代理对象。5.如权利要求4所述的方法,其特征在于,所述方法还包括:所述目标功能类中不能通过方法回调的代码通过performSelector方法回传到所述界面控制器类的...
【专利技术属性】
技术研发人员:汪刚,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。