一种针对键值观察模式的处理方法及装置制造方法及图纸

技术编号:25708175 阅读:26 留言:0更新日期:2020-09-23 02:55
本发明专利技术实施例提供了一种针对键值观察模式的处理方法和装置,所述方法包括:在调用键值观察模式的方法时,创建针对所述键值观察模式的代理对象;由所述代理对象获取预设结构数据,所述预设结构数据关联记录有观察者对象和观察属性;根据所述预设结构数据中关联记录的观察者对象和观察属性,执行所述键值观察模式的方法。本发明专利技术实施例通过由代理对象维护预设结构数据统一管理复杂的KVO关系,在调用键值观察模式的方法时,根据预设结构数据中关联记录的观察者对象和观察属性,调用键值观察模式的方法,可以避免由于KVO关系管理混乱而产生的问题。

【技术实现步骤摘要】
一种针对键值观察模式的处理方法及装置
本专利技术涉及计算机
,特别是涉及一种针对键值观察模式的处理方法和一种针对键值观察模式的处理装置。
技术介绍
观察者模式KVO(KeyValueObserving)是移动应用程序设计模式中常用的模式,KVO提供一套事件通知机制,允许对象监听另一个对象特定属性的改变,并在改变时接收到事件。KVO机制指定一个被观察者对象(Origin),当被观察者对象的某个观察属性(KeyPath)发生更改时,被观察者对象会获得通知,并作出相应处理;KVO还需要确定观察者对象(Observer),当被观察者对象获取通知时,观察者对象即可获取通知并在内部实现KVO方法执行具体的处理逻辑。其中需要注意的是:被观察对象可以注册多个观察者,每个观察者又可以观察被观察者的多个属性。主流应用程序规模庞大,容易存在对KVO关系管理混乱的问题。
技术实现思路
本专利技术实施例的目的在于提供一种针对键值观察模式的处理,以根据统一管理的KVO关系,调用键值观察模式的方法。具体技术方案如下:在本专利本文档来自技高网...

【技术保护点】
1.一种针对键值观察模式的处理方法,其特征在于,包括:/n在调用键值观察模式的方法时,创建针对所述键值观察模式的代理对象;/n由所述代理对象获取预设结构数据,所述预设结构数据关联记录有观察者对象和观察属性;/n根据所述预设结构数据中关联记录的观察者对象和观察属性,执行所述键值观察模式的方法。/n

【技术特征摘要】
1.一种针对键值观察模式的处理方法,其特征在于,包括:
在调用键值观察模式的方法时,创建针对所述键值观察模式的代理对象;
由所述代理对象获取预设结构数据,所述预设结构数据关联记录有观察者对象和观察属性;
根据所述预设结构数据中关联记录的观察者对象和观察属性,执行所述键值观察模式的方法。


2.根据权利要求1所述的方法,其特征在于,所述在调用键值观察模式的方法时,创建针对所述键值观察模式的代理对象,包括:
在调用键值观察模式的方法时,调用预设消息转发方法,添加针对键值观察模式的代理方法;
采用所述代理方法创建针对键值观察模式的代理对象。


3.根据权利要求1所述的方法,其特征在于,还包括:
在调用针对被观察者对象的释放销毁方法时,将与所述代理对象所对应的预设结构数据销毁,并将所述代理对象置空。


4.根据权利要求1所述的方法,其特征在于,所述预设结构数据为预设图表;所述预设图表记录有被观察者的观察属性和与所述观察属性对应的观察者队列,所述观察者队列记录有对应所述观察属性的观察者;
所述根据所述预设结构数据中关联记录的观察者对象和观察属性,执行所述键值观察模式的方法,包括:
根据所述预设图表中的观察属性和所述观察者队列,执行所述键值观察模式的方法。


5.根据权利要求4所述的方法,其特征在于,所述根据所述预设图表中的观察属性和所述观察者队列,执行所述键值观察模式的方法,包括:
当所述键值观察模式的方法为新增观察者方法时,由所述代理对象确定调用所述新增观察者方法所要新增的第一观察者对象、所述第一观察者对象所要观察的第一被观察者对象的第一观察属性;
由所述代理对象在所述预设图表中,获取与所述第一观察属性对应的第一观察者队列;
由所述代理对象在所述第一观察者队列新增所述第一观察者对象。


6.根据权利要求5所述的方法,其特征在于,所述由所述代理对象在所述第一观察者队列新增所述第一观察者对象,包括:
由所述代理对象判断所述第一观察者队列中,是否已经记录有所述第一观察者对象;
若所述第一观察者队列中未记录有所述第一观察者对象,则由所述代理对象在所述第一观察者队列新增所述第一观察者对象;
所述根据所述预设图表中的观察属性和所述观察者队列,执行所述键值观察模式的方法,还包括:
若所述第一观察者队列中已经记录有所述第一观察者对象,则由所述代理对象生成并向服务器发送第一日志。


7.根据权利要求5所述的方法,其特征在于,所述由所述代理对象在所述预设图表中,获取与所述第一观察属性对应的第一观察者队列,包括:
由所述代理对象判断所述预设图表中,是否记录有所述第一观察属性;
若所述预设图表中记录有所述第一观察属性,则由所述代理对象在所述预设图表中,获取与所述第一观察属性对应的第一观察者队列;
所述根据所述预设图表中的观察属性和所述观察者队列,执行所述键值观察模式的方法,还包括:
若所述预设图表中未记录有所述第一观察属性,则由所述代理对象在所述预设图表中创建与所述第一观察属性对应的第一观察者队列;
调用所述第一被观察者对象的新增观察者方法,以将所述代理对象设置为所述第一被观察者对象的观察者对象。


8.根据权利要求4所述的方法,其特征在于,所述根据所述预设图表中的观察属性和所述对应的观察者队列,执行所述键值观察模式的方法,包括:
当所...

【专利技术属性】
技术研发人员:鞠鑫
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1