利索能及
我要发布
收藏
专利号: 2020108758179
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:授权未缴费
更新日期:2025-07-05
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种功能模块调用方法,其特征在于,应用于IOS系统中对功能模块进行调用,所述方法包括:响应于加载预设页面的触发操作,将所述预设页面包含的每个目标功能模块以及各自对应的目标协议均关联存储到预设字典中,并将所述每个目标功能模块以及目标协议的对应关系注册到预设数组中,其中,所述目标协议为预先针对所述目标功能模块创建的,所述目标协议中定义有所述目标功能模块包含的功能函数;

响应于启动所述预设页面所属应用程序的触发操作,对所述预设数组进行遍历,针对遍历到的每个目标功能模块,执行以下创建及绑定步骤:检测所述目标功能模块以及对应目标协议的名称是否满足预设配置条件,若是,则从所述预设字典中获取所述目标功能模块;

通过调用预设的模块绑定函数,将所获取的目标功能模块与对应目标协议绑定,包括:通过conformsToProtocol函数,判断所述目标功能模块是否遵守了该目标协议,若是,则建立一个同步锁,通过该目标协议查找要绑定的目标功能模块,将所查找到的目标功能模块封装为一个对象,并将该对象重新赋值给所述预设字典中的该目标协议;

创建调用接口,所述调用接口用于通过目标协议对所述预设字典中与该目标协议绑定的目标功能模块进行调用。

2.如权利要求1所述的方法,其特征在于,所述创建调用接口之后,还包括:获取目标函数对应的协议名称、目标函数指针selector以及目标函数,其中,所述目标函数为需要调用的功能函数,所述目标函数指针用于判断所述目标函数是否能被调用;

通过将所述协议名称、目标函数指针selector以及目标函数传入所述调用接口,对所述目标函数进行调用。

3.如权利要求2所述的方法,其特征在于,所述通过将所述协议名称、目标函数指针selector以及目标函数传入所述调用接口,对所述目标函数进行调用,包括:通过传入的协议名称生成一个协议;

通过defaultCenter获取到client管理对象,所述client管理对象是一个遵守了该协议的service对象;

通过respondsToSelector方法,判断该service是否遵守了selector的方法,若是,则通过service去调用目标函数,若否,则将该service置为空。

4.如权利要求1所述的方法,其特征在于,所述检测所述目标功能模块以及对应目标协议的名称是否满足预设配置条件,包括:获取所述目标功能模块以及对应目标协议的协议名称,检测所述协议名称以及所述目标功能模块是否均存在;

若存在,则通过conformsToProtocol协议方法检测所述目标功能模块是否遵守预设的模块加载协议,若遵守,则判定所述目标功能模块以及对应协议的名称满足所述预设配置条件,其中,所述模块加载协议用于对所述目标功能模块进行初始化。

5.如权利要求1所述的方法,其特征在于,所述通过该目标协议查找要绑定的目标功能模块,包括:通过NSStringFromProtocol方法获取目标协议的字符串名称,作为key值;

在所述预设字典中通过所述key值查找对应的client,判断所述client的类型是否正确,若正确,则获取所述client的object,其中,所述client的object对象是相应的目标功能模块,所述client是目标功能模块的进一步封装,client对象包含有目标功能模块的属性;

若所述client的object不存在,则将所述目标协议转化为字符串类型的key,并创建一个client对象,在所述client对象里面传入所述目标功能模块的参数。

6.如权利要求1所述的方法,其特征在于,所述目标功能模块为box或用于实现目标功能的函数。

7.一种功能模块调用装置,其特征在于,所述装置包括:

注册模块,用于响应于加载预设页面的触发操作,将所述预设页面包含的每个目标功能模块以及各自对应的目标协议均关联存储到预设字典中,并将所述每个目标功能模块以及目标协议的对应关系注册到预设数组中,其中,所述目标协议为预先针对所述目标功能模块创建的,所述目标协议中定义有所述目标功能模块包含的功能函数;

绑定模块,用于响应于启动所述预设页面所属应用程序的触发操作,对所述预设数组进行遍历,针对遍历到的每个目标功能模块,执行以下创建及绑定步骤:检测所述目标功能模块以及对应目标协议的名称是否满足预设配置条件,若是,则从所述预设字典中获取所述目标功能模块;

通过调用预设的模块绑定函数,将所获取的目标功能模块与对应目标协议绑定,包括:通过conformsToProtocol函数,判断所述目标功能模块是否遵守了该目标协议,若是,则建立一个同步锁,通过该目标协议查找要绑定的目标功能模块,将所查找到的目标功能模块封装为一个对象,并将该对象重新赋值给所述预设字典中的该目标协议;

接口创建模块,用于创建调用接口,所述调用接口用于通过目标协议对所述预设字典中与该目标协议绑定的目标功能模块进行调用。

8.如权利要求7所述的装置,其特征在于,所述装置还包括:

参数获取模块,用于获取目标函数对应的协议名称、目标函数指针selector以及目标函数,其中,所述目标函数为需要调用的功能函数,所述目标函数指针用于判断所述目标函数是否能被调用;

调用模块,用于通过将所述协议名称、目标函数指针selector以及目标函数传入所述调用接口,对所述目标函数进行调用。

9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行权利要求1‑6任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1‑6中任一项所述方法的步骤。