数据处理方法、装置和电子设备制造方法及图纸

技术编号:29788768 阅读:23 留言:0更新日期:2021-08-24 18:07
本发明专利技术提供了一种数据处理方法、装置和电子设备,该方法包括:响应针对于目标基类的子类创建指令,创建目标基类的子类;响应针对目标数据的存储指令,在子类中申明目标数据的属性,并将属性标识为指定属性;调用预设的动态决议方法,为目标数据动态设置键值;响应针对于子类的调用指令,为目标数据的键值赋予属性值或者获取键值赋予的属性值。该方式能够将数据存储中的键值对转化为属性的形式,并将所有的键值收敛到一个类中,对键值进行统一管理,从而避免了键值分散、重复定义的问题,同时也提高了键值的可读性、可维护性、安全性和易用性。

【技术实现步骤摘要】
数据处理方法、装置和电子设备
本专利技术涉及软件开发
,尤其是涉及一种数据处理方法、装置和电子设备。
技术介绍
苹果系统中通常主要使用NSUserDefaults来存储用户设置、系统配置等比较轻量级的数据,该数据是以键值对key-value的形式保存在沙盒中。但是NSUserDefaults通常在使用时需要开发人员自定义常量字符串key,由于现代软件项目通常为多人合作开发,如果key散布在项目中会存在可读性差、安全性差和不利于key的管理等问题,甚至可能出现重复定义相同key的情况,导致相关数据被覆盖掉,从而导致软件出现异常。
技术实现思路
本专利技术的目的在于提供一种数据处理方法、装置和电子设备,以对key进行统一管理,避免key被重复定义,提高key的可读性、可维护性和易用性。第一方面,本专利技术提供了一种数据处理方法,该方法包括:响应针对于目标基类的子类创建指令,创建目标基类的子类;响应针对目标数据的存储指令,在子类中申明目标数据的属性,并将属性标识为指定属性;调用预设的动态决议方法,为目标数据动态设置键值;响应针对于子类的调用指令,为目标数据的键值赋予属性值或者获取该属性值。在可选的实施方式中,上述调用预设的动态决议方法,为目标数据动态设置键值的步骤,包括:调用动态决议方法,为目标数据的指定属性自动创建get/set方法;利用get/set方法,根据子类当前所包含的键值的属性名,确定目标数据的键值。在可选的实施方式中,上述动态决议方法包括SEL方法。在可选的实施方式中,上述响应针对于目标基类的子类创建指令,创建目标基类的子类的步骤之前,上述方法还包括:响应针对于目标基类的创建指令,创建目标基类;响应针对于目标基类的容器创建指令,为目标基类创建用于数据存储的容器。在可选的实施方式中,上述用于数据存储的容器包括NSUserDefaults。在可选的实施方式中,上述响应针对于目标基类的子类创建指令,创建目标基类的子类的步骤之后,上述方法还包括:响应子类的设置指令,将子类设置为单例类。在可选的实施方式中,上述将属性标识为指定属性的步骤,包括:将属性标识为@dynamic。第二方面,本专利技术提供了一种数据处理装置,该装置包括:子类创建模块,用于响应针对于目标基类的子类创建指令,创建目标基类的子类;属性设定模块,用于响应针对目标数据的存储指令,在子类中申明目标数据的属性,并将属性标识为指定属性;键值设置模块,用于调用预设的动态决议方法,为目标数据动态设置键值;属性值赋予模块,用于响应针对于子类的调用指令,为目标数据的键值赋予属性值或者获取该属性值。第三方面,本专利技术提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现前述实施方式任一项所述的数据处理方法。第四方面,本专利技术提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现前述实施方式任一项所述的数据处理方法。本专利技术实施例带来了以下有益效果:本专利技术提供的一种数据处理方法、装置和电子设备,首先响应针对于目标基类的子类创建指令,创建目标基类的子类;进而响应针对目标数据的存储指令,在子类中申明目标数据的属性,并将属性标识为指定属性;再调用预设的动态决议方法,为目标数据动态设置键值;然后响应针对于子类的调用指令,为目标数据的键值赋予属性值或者获取键值赋予的属性值。该方式能够将数据存储中的键值对转化为属性的形式,并将所有的键值收敛到一个类中,对键值进行统一管理,从而避免了键值分散、重复定义的问题,同时也提高了键值的可读性、可维护性、安全性和易用性。本专利技术的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本专利技术的上述技术即可得知。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种数据处理方法的流程图;图2为本专利技术实施例提供的另一种数据处理方法的流程图;图3为本专利技术实施例提供的一种数据处理装置的结构示意图;图4为本专利技术实施例提供的一种电子设备的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。目前,NSUserDefaults通常在使用时需要开发人员自定义常量字符串键值key,由于现代软件项目通常为多人合作开发,如果key散布在项目中会存在可读性差、安全性差和不利于key的管理等问题,甚至可能出现重复定义相同key的情况,导致相关数据被覆盖掉,从而导致软件出现异常。基于上述问题,本专利技术实施例提供了一种数据处理方法、装置和电子设备,该技术可以应用于涉及macOS、iOS、watchOS、tvOS等系统相关的软件开发场景中。为便于对本实施例进行理解,首先对本专利技术实施例所公开的一种数据处理方法进行详细介绍,如图1所示,该方法包括如下具体步骤:步骤S102,响应针对于目标基类的子类创建指令,创建目标基类的子类。上述目标基类是研发人员预先创建的一个基类,基类在面向对象设计中被定义为包含所有实体共性的class类型,通常基类对应面向对象编程中的继承性,继承性允许在构成软件系统的层次结构中利用已经存在的类并扩充它们,以支持新的功能。这使得编程者只需要在新类中定义已经存在的类中所没有的成分来建立新类,从而大大提高了软件的可重用性和可维护性。上述目标基类(也可称为父类)的子类可以继承目标基类的所有信息,创建目标基类的子类的目的是为了后续所有的key(相当于键值)都在子类中管理,从而实现key的统一管理。步骤S104,响应针对目标数据的存储指令,在上述子类中申明目标数据的属性,并将该属性标识为指定属性。在具体实现时,上述目标基类对应有用于数据存储的容器,当接收到目标数据的存储指令时,也即是研发人员想要在容器中存储目标数据时,需要在目标基类的子类中申明本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:/n响应针对于目标基类的子类创建指令,创建所述目标基类的子类;/n响应针对目标数据的存储指令,在所述子类中申明所述目标数据的属性,并将所述属性标识为指定属性;/n调用预设的动态决议方法,为所述目标数据动态设置键值;/n响应针对于所述子类的调用指令,为所述目标数据的键值赋予属性值或者获取所述属性值。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
响应针对于目标基类的子类创建指令,创建所述目标基类的子类;
响应针对目标数据的存储指令,在所述子类中申明所述目标数据的属性,并将所述属性标识为指定属性;
调用预设的动态决议方法,为所述目标数据动态设置键值;
响应针对于所述子类的调用指令,为所述目标数据的键值赋予属性值或者获取所述属性值。


2.根据权利要求1所述的方法,其特征在于,所述调用预设的动态决议方法,为所述目标数据动态设置键值的步骤,包括:
调用所述动态决议方法,为所述目标数据的所述指定属性自动创建get/set方法;
利用所述get/set方法,根据所述子类当前所包含的键值的属性名,确定所述目标数据的键值。


3.根据权利要求1或2所述的方法,其特征在于,所述动态决议方法包括SEL方法。


4.根据权利要求1所述的方法,其特征在于,所述响应针对于目标基类的子类创建指令,创建所述目标基类的子类的步骤之前,所述方法还包括:
响应针对于目标基类的创建指令,创建所述目标基类;
响应针对于目标基类的容器创建指令,为所述目标基类创建用于数据存储的容器。


5.根据权利要求4所述的方法,其特征在于,所述用于数据存储的容器包括NSUserDefaults。


6.根据...

【专利技术属性】
技术研发人员:晏小兵
申请(专利权)人:广州探途网络技术有限公司
类型:发明
国别省市:广东;44

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

1