首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

主题切换方法、装置、设备及计算机可读存储介质 

申请/专利权人:深圳前海微众银行股份有限公司

申请日:2019-05-28

公开(公告)日:2024-06-25

公开(公告)号:CN110162374B

主分类号:G06F9/451

分类号:G06F9/451;G06F9/448

优先权:

专利状态码:有效-授权

法律状态:2024.06.25#授权;2022.02.25#实质审查的生效;2019.08.23#公开

摘要:本发明涉及金融科技领域,并公开了一种主题切换方法、装置、设备及计算机可读存储介质。该主题切换方法包括:预先创建一主题管理者,并将控件对象存储至所述主题管理者的观察者集合中;对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法;在接收到主题切换请求时,通过所述主题管理者遍历所述观察者集合中的控件对象执行所述预设主题切换方法,以使得所述控件对象接收所述主题切换请求中的目标主题切换信息,并根据所述目标主题切换信息执行主题切换操作。本发明能够解决现有技术中需要针对每一控件对象分别创建一个子类、不便于类的管理的问题。

主权项:1.一种主题切换方法,其特征在于,所述主题切换方法包括:预先创建一主题管理者,并将控件对象存储至所述主题管理者的观察者集合中;对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法;在接收到主题切换请求时,通过所述主题管理者遍历所述观察者集合中的控件对象执行所述预设主题切换方法,以使得所述控件对象接收所述主题切换请求中的目标主题切换信息,并根据所述目标主题切换信息执行主题切换操作。

全文数据:主题切换方法、装置、设备及计算机可读存储介质技术领域本发明涉及金融科技Fintech技术领域,尤其涉及一种主题切换方法、装置、设备及计算机可读存储介质。背景技术随着计算机技术的发展,越来越多的技术大数据、分布式、区块链Blockchain、人工智能等应用在金融领域,传统金融业正在逐步向金融科技Fintech转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。目前,iOS系统中的App应用主题切换是基于iOS的消息通知机制实现的,即,对不同的控件对象例如UIButton按钮、UILabel标签等子类化,每个子类以观察者的身份注册到消息通知中心,以关注切换主题的通知。当需要切换主题时,ThemeManager主题管理类向消息通知中心发布通知,进而消息通知中心将该通知发布给各观察者,以使得观察者根据该通知调用自身的主题切换方法完成主题切换。采用上述方式进行主题切换时,需要针对每一控件对象分别创建一个子类,若项目中使用到的控件对象的种类较多时,对应的需创建很多子类,从而不便于类的管理。发明内容本发明的主要目的在于提供一种主题切换方法、装置、设备及计算机可读存储介质,旨在解决现有技术中需要针对每一控件对象分别创建一个子类、不便于类的管理的问题。为实现上述目的,本发明提供一种主题切换方法,所述主题切换方法包括:预先创建一主题管理者,并将控件对象存储至所述主题管理者的观察者集合中;对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法;在接收到主题切换请求时,通过所述主题管理者遍历所述观察者集合中的控件对象执行所述预设主题切换方法,以使得所述控件对象接收所述主题切换请求中的目标主题切换信息,并根据所述目标主题切换信息执行主题切换操作。可选地,所述主题切换方法还包括:每隔预设时间通过所述主题管理者遍历所述观察者集合中的控件对象,获取各控件对象的引用计数;基于所述各控件对象的引用计数检测是否存在引用计数为预设值的控件对象;若存在引用计数为预设值的控件对象,则从所述观察者集合中移除所存在的引用计数为预设值的控件对象。可选地,所述主题切换方法还包括:在侦测到新页面出现时,将与所述新页面对应的控件对象添加至所述观察者集合中。可选地,所述对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法的步骤包括:采用分类方式对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法。可选地,所述目标主题切换信息包括文字大小信息、文字样式信息、背景色信息中的一种或多种。此外,为实现上述目的,本发明还提供一种主题切换装置,所述主题切换装置包括:管理者创建模块,用于预先创建一主题管理者,并将控件对象存储至所述主题管理者的观察者集合中;方法添加模块,用于对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法;主题切换模块,用于在接收到主题切换请求时,通过所述主题管理者遍历所述观察者集合中的控件对象执行所述预设主题切换方法,以使得所述控件对象接收所述主题切换请求中的目标主题切换信息,并根据所述目标主题切换信息执行主题切换操作。可选地,所述主题切换装置还包括:信息获取模块,用于每隔预设时间通过所述主题管理者遍历所述观察者集合中的控件对象,获取各控件对象的引用计数;信息检测模块,用于基于所述各控件对象的引用计数检测是否存在引用计数为预设值的控件对象;对象移除模块,用于若存在引用计数为预设值的控件对象,则从所述观察者集合中移除所存在的引用计数为预设值的控件对象。可选地,所述主题切换装置还包括:对象添加模块,用于在侦测到新页面出现时,将与所述新页面对应的控件对象添加至所述观察者集合中。此外,为实现上述目的,本发明还提供一种主题切换设备,所述主题切换设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的主题切换程序,所述主题切换程序被所述处理器执行时实现如上所述的主题切换方法的步骤。此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有主题切换程序,所述主题切换程序被处理器执行时实现如上所述的主题切换方法的步骤。本发明提供一种主题切换方法、装置、设备及计算机可读存储介质,预先创建一主题管理者,并将控件对象存储至主题管理者的观察者集合中,然后对响应者类添加预设主题切换方法,以使得各控件对象继承该预设主题切换方法,在接收到主题切换请求时,通过主题管理者遍历观察者集合中的控件对象执行该预设主题切换方法,以使得控件对象接收该主题切换请求中的目标主题切换信息,并根据目标主题切换信息执行主题切换操作。通过上述方式,本发明中通过对系统类响应者类添加预设主题切换方法,可使得各控件对象都继承该预设主题切换方法,进而在接收到主题切换请求时,控件对象可调用执行该预设主题切换方法,以接收目标主题切换信息,进而执行主题切换操作,相比于现有技术需对各控件对象都创建一个子类,本发明中只有一个响应者的分类,更便于类的管理。附图说明图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;图2为本发明主题切换方法第一实施例的流程示意图;图3为本发明主题切换装置第一实施例的功能模块示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。本发明实施例主题切换设备可以是智能手机,也可以是PCPersonalComputer,个人计算机、平板电脑、便携计算机等终端设备。如图1所示,该主题切换设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏Display、输入单元比如键盘Keyboard,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口如Wi-Fi接口。存储器1005可以是高速RAM存储器,也可以是稳定的存储器non-volatilememory,例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的主题切换设备结构并不构成对主题切换设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及主题切换程序。在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的主题切换程序,并执行以下操作:预先创建一主题管理者,并将控件对象存储至所述主题管理者的观察者集合中;对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法;在接收到主题切换请求时,通过所述主题管理者遍历所述观察者集合中的控件对象执行所述预设主题切换方法,以使得所述控件对象接收所述主题切换请求中的目标主题切换信息,并根据所述目标主题切换信息执行主题切换操作。进一步地,处理器1001可以调用存储器1005中存储的主题切换程序,还执行以下操作:每隔预设时间通过所述主题管理者遍历所述观察者集合中的控件对象,获取各控件对象的引用计数;基于所述各控件对象的引用计数检测是否存在引用计数为预设值的控件对象;若存在引用计数为预设值的控件对象,则从所述观察者集合中移除所存在的引用计数为预设值的控件对象。进一步地,处理器1001可以调用存储器1005中存储的主题切换程序,还执行以下操作:在侦测到新页面出现时,将与所述新页面对应的控件对象添加至所述观察者集合中。进一步地,处理器1001可以调用存储器1005中存储的主题切换程序,还执行以下操作:采用分类方式对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法。进一步地,所述目标主题切换信息包括文字大小信息、文字样式信息、背景色信息中的一种或多种。基于上述硬件结构,提出本发明主题切换方法的各实施例。本发明提供一种主题切换方法。参照图2,图2为本发明主题切换方法第一实施例的流程示意图。在本实施例中,该主题切换方法包括:步骤S10,预先创建一主题管理者,并将控件对象存储至所述主题管理者的观察者集合中;本实施例的主题切换方法是由主题切换设备实现的,该主题切换设备搭载有iOS系统。在本实施例中,预先创建一单例类ThemeManager主题管理者,并将控件对象存储至主题管理者的观察者observers集合中。其中,该ThemeManager中有个NSMutableSetNSMutableSet是一个集合类型的observers,用于管理存储需要切换主题的控件对象如button按钮、label标签。步骤S20,对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法;然后,对响应者类添加预设主题切换方法,以使得各控件对象继承该预设主题切换方法。其中,响应者UIResponder类为系统类,在iOS系统的UIUserInterface,用户界面界面中,参与主题切换的主要为UIButton按钮、UILabel标签、UITextField输入框等控件实例上的文字大小、文字样式、背景色等,而这些控件类都有一个共性,都继承自UIResponder这个类,因此,通过对响应者添加预设主题切换方法,可使得各个系统控件对象都继承这个预设主题切换方法,通过上述方式,本实施例中只有一个UIResponder的分类,无需各控件对象各自通过子类化来创建子类,从而可便于类的管理。此外,需要说明的是,该方法参数dic为字典类型,用于接收切换主题需要使用到的文字大小信息、文字样式信息、背景色信息等目标主题切换信息,同时,当控件对象调用执行该方法时,该方法可获取到被调用的控件对象的类型,进而通过字典查询到该类型对应的数据信息,以执行主题切换操作。对于预设主题切换方法的添加,可采用分类方式进行添加,即,步骤S20可以包括:采用分类方式对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法。即,可采用分类方式对响应者类添加预设主题切换方法,以使得各控件对象继承预设主题切换方法。其中,分类category是为了扩展系统类的方法而产生的一种方式,其主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。在category中可以给原有类增加属性、方法、协议等,在系统加载分类时,category的实例方法、协议以及属性添加到原有类上,而category的类方法和协议添加到原有类的元类中。具体的,先将category中的预设主题切换方法,属性,协议数据放在category_t结构体中,然后将结构体内的方法列表拷贝到Responder类对象的方法列表中,以对Responder类添加预设主题切换方法。步骤S30,在接收到主题切换请求时,通过所述主题管理者遍历所述观察者集合中的控件对象执行所述预设主题切换方法,以使得所述控件对象接收所述主题切换请求中的目标主题切换信息,并根据所述目标主题切换信息执行主题切换操作。最后,在接收到主题切换请求时,通过ThemeManager遍历observers集合中的控件对象执行该预设主题切换方法,以使得控件对象接收该主题切换请求中的目标主题切换信息,并根据目标主题切换信息执行主题切换操作。其中,目标主题切换信息包括文字大小信息、文字样式信息、背景色信息中的一种或多种,例如,可实现label切换为红底白字、button切换为蓝底黑字这样的主题切换操作。本发明实施例提供一种主题切换方法,预先创建一主题管理者,并将控件对象存储至主题管理者的观察者集合中,然后对响应者类添加预设主题切换方法,以使得各控件对象继承该预设主题切换方法,在接收到主题切换请求时,通过主题管理者遍历观察者集合中的控件对象执行该预设主题切换方法,以使得控件对象接收该主题切换请求中的目标主题切换信息,并根据目标主题切换信息执行主题切换操作。通过上述方式,本发明实施例中通过对系统类响应者类添加预设主题切换方法,可使得各控件对象都继承该预设主题切换方法,进而在接收到主题切换请求时,控件对象可调用执行该预设主题切换方法,以接收目标主题切换信息,进而执行主题切换操作,相比于现有技术需对各控件对象都创建一个子类,本实施例中只有一个响应者的分类,更便于类的管理。在现有技术中,当观察者不再需要接收通知时,需要在消息通知中心进行注销,此时,需要管理者手动移除这些控件对象的子类,否则会导致内存泄露。对此,提出本发明主题切换方法的第二实施例,通过获取各控件对象的引用计数,进而根据引用计数判定是否进行移除,以实现智能自动移除控件对象,避免内存泄露。在本实施例中,在步骤S10之后,该主题切换方法还包括:步骤A,每隔预设时间通过所述主题管理者遍历所述观察者集合中的控件对象,获取各控件对象的引用计数;在本实施例中,终端系统会每隔预设时间通过主题管理者ThemeManager遍历观察者observers集合中的控件对象,获取各控件对象的引用计数。其中,引用计数是计算机编程语言中的一种内存管理技术,是指将资源可以是对象、内存或磁盘空间等等的被引用次数保存起来,当被引用次数变为零时就将其释放的过程。其中,预设时间可根据实际情况进行具体设定,此处不作具体限定。步骤B,基于所述各控件对象的引用计数检测是否存在引用计数为预设值的控件对象;在获取到各控件对象的引用计数之后,基于各控件对象的引用计数检测是否存在引用计数为预设值的控件对象。其中,由于控件对象至少会被观察者集合所持有,即引用计数为1时,说明控件对象此时只被观察者集合所持有,对应的,可设定预设值为1。步骤C,若存在引用计数为预设值的控件对象,则从所述观察者集合中移除所存在的引用计数为预设值的控件对象。若存在引用计数为预设值即1的控件对象,则需从观察者集合中移除所存在的引用计数为预设值的控件对象,以避免内存泄露。同时,也使得控件对象无需注销通知,从而使得使用更加简单。例如,某App中有多个页面,不同的页面对应有不同的控件对象,如Button按钮、Label标签等,初始时,会将各页面中的控件对象添加至主题管理者的观察者集合中需要说明的是,在添加时,可只添加各页面中与主题切换相关的控件对象。用户在App中浏览某一页面时,其余页面对应的控件对象此时可能只被观察者集合所持有,即引用计数为1,此时,则从观察者集合中自动移除这些引用计数为1的控件对象,以避免内存泄露。进一步的,该主题切换方法还包括:在侦测到新页面出现时,将与所述新页面对应的控件对象添加至所述观察者集合中。在本实施例中,终端系统在侦测到新页面出现时,将与该新页面对应的控件对象添加至观察者集合中,以使得对应的控件对象来接收主题切换通知,进而执行主题切换操作。例如,用户之前在浏览App中的页面A时,可能观察者集合中只存在页面A对应的控件对象,当用户跳转至页面B时,此时,终端系统会侦测到新页面B的出现,此时,则需要将与页面B对应的控件对象添加至观察者集合中,以使得页面B对应的控件对象接收主题切换通知,进而执行主题切换操作。本发明具体可应用在各类App主题切换过程中,包括但不限于金融科技领域下的手机银行App、保险机构APP、投资理财APP等,例如对于某一手机银行App中,为使得该App可实现不同的主题切换,可预先创建一单例类ThemeManager主题管理者,并将控件对象存储至主题管理者的观察者observers集合中,然后对UIResponder类添加预设主题切换方法,以使得各控件对象继承该预设主题切换方法;在接收到主题切换请求时,通过ThemeManager遍历observers集合中的控件对象执行该预设主题切换方法,以使得控件对象接收该主题切换请求中的目标主题切换信息,并根据目标主题切换信息执行主题切换操作。通过上述方式,本发明中通过对系统类UIResponder类添加预设主题切换方法,可使得各控件对象都继承该预设主题切换方法,当用户在App中点击主题切换按键时,此时,终端系统可接收到对应的主题切换请求,控件对象会调用执行该预设主题切换方法,以接收目标主题切换信息,进而执行主题切换操作,相比于现有技术需对各控件对象都创建一个子类,本发明中只有一个响应者UIResponder的分类,更便于类的管理,实现了手机银行App等金融APP中类的管理更加便捷。本发明还提供一种主题切换装置。参照图3,图3为本发明主题切换装置第一实施例的功能模块示意图。如图3所示,所述主题切换装置包括:管理者创建模块10,用于预先创建一主题管理者,并将控件对象存储至所述主题管理者的观察者集合中;方法添加模块20,用于对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法;主题切换模块30,用于在接收到主题切换请求时,通过所述主题管理者遍历所述观察者集合中的控件对象执行所述预设主题切换方法,以使得所述控件对象接收所述主题切换请求中的目标主题切换信息,并根据所述目标主题切换信息执行主题切换操作。进一步地,所述主题切换装置还包括:信息获取模块,用于每隔预设时间通过所述主题管理者遍历所述观察者集合中的控件对象,获取各控件对象的引用计数;信息检测模块,用于基于所述各控件对象的引用计数检测是否存在引用计数为预设值的控件对象;对象移除模块,用于若存在引用计数为预设值的控件对象,则从所述观察者集合中移除所存在的引用计数为预设值的控件对象。进一步地,所述主题切换装置还包括:对象添加模块,用于在侦测到新页面出现时,将与所述新页面对应的控件对象添加至所述观察者集合中。进一步地,所述方法添加模块20,具体用于采用分类方式对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法。进一步地,所述目标主题切换信息包括文字大小信息、文字样式信息、背景色信息中的一种或多种。其中,上述主题切换装置中各个模块的功能实现与上述主题切换方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有主题切换程序,所述主题切换程序被处理器执行时实现如以上任一项实施例所述的主题切换方法的步骤。本发明计算机可读存储介质的具体实施例与上述主题切换方法各实施例基本相同,在此不作赘述。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质如ROMRAM、磁碟、光盘中,包括若干指令用以使得一台终端设备可以是手机,计算机,服务器,空调器,或者网络设备等执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

权利要求:1.一种主题切换方法,其特征在于,所述主题切换方法包括:预先创建一主题管理者,并将控件对象存储至所述主题管理者的观察者集合中;对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法;在接收到主题切换请求时,通过所述主题管理者遍历所述观察者集合中的控件对象执行所述预设主题切换方法,以使得所述控件对象接收所述主题切换请求中的目标主题切换信息,并根据所述目标主题切换信息执行主题切换操作。2.如权利要求1所述的主题切换方法,其特征在于,所述主题切换方法还包括:每隔预设时间通过所述主题管理者遍历所述观察者集合中的控件对象,获取各控件对象的引用计数;基于所述各控件对象的引用计数检测是否存在引用计数为预设值的控件对象;若存在引用计数为预设值的控件对象,则从所述观察者集合中移除所存在的引用计数为预设值的控件对象。3.如权利要求1所述的主题切换方法,其特征在于,所述主题切换方法还包括:在侦测到新页面出现时,将与所述新页面对应的控件对象添加至所述观察者集合中。4.如权利要求1所述的主题切换方法,其特征在于,所述对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法的步骤包括:采用分类方式对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法。5.如权利要求1-4任一项所述的主题切换方法,其特征在于,所述目标主题切换信息包括文字大小信息、文字样式信息、背景色信息中的一种或多种。6.一种主题切换装置,其特征在于,所述主题切换装置包括:管理者创建模块,用于预先创建一主题管理者,并将控件对象存储至所述主题管理者的观察者集合中;方法添加模块,用于对响应者类添加预设主题切换方法,以使得各控件对象继承所述预设主题切换方法;主题切换模块,用于在接收到主题切换请求时,通过所述主题管理者遍历所述观察者集合中的控件对象执行所述预设主题切换方法,以使得所述控件对象接收所述主题切换请求中的目标主题切换信息,并根据所述目标主题切换信息执行主题切换操作。7.如权利要求6所述的主题切换装置,其特征在于,所述主题切换装置还包括:信息获取模块,用于每隔预设时间通过所述主题管理者遍历所述观察者集合中的控件对象,获取各控件对象的引用计数;信息检测模块,用于基于所述各控件对象的引用计数检测是否存在引用计数为预设值的控件对象;对象移除模块,用于若存在引用计数为预设值的控件对象,则从所述观察者集合中移除所存在的引用计数为预设值的控件对象。8.如权利要求6或7所述的主题切换装置,其特征在于,所述主题切换装置还包括:对象添加模块,用于在侦测到新页面出现时,将与所述新页面对应的控件对象添加至所述观察者集合中。9.一种主题切换设备,其特征在于,所述主题切换设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的主题切换程序,所述主题切换程序被所述处理器执行时实现如权利要求1至5中任一项所述的主题切换方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有主题切换程序,所述主题切换程序被处理器执行时实现如权利要求1至5中任一项所述的主题切换方法的步骤。

百度查询: 深圳前海微众银行股份有限公司 主题切换方法、装置、设备及计算机可读存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。