CN108304188B - 一种数据类型转换方法及终端 - Google Patents
一种数据类型转换方法及终端 Download PDFInfo
- Publication number
- CN108304188B CN108304188B CN201610727305.1A CN201610727305A CN108304188B CN 108304188 B CN108304188 B CN 108304188B CN 201610727305 A CN201610727305 A CN 201610727305A CN 108304188 B CN108304188 B CN 108304188B
- Authority
- CN
- China
- Prior art keywords
- data type
- class
- unsupported
- attribute
- macro file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
Abstract
本发明实施例公开了一种数据类型转换方法及终端,所述方法包括:若接收到请求指令,获取需要转换的未支持的第一数据类型;根据所述未支持的第一数据类型,在已封装的实现类中获取与所述未支持的第一数据类型相对应的关联属性;根据预设的宏文件将所述关联属性转换为可支持的第二数据类型。本发明根据未支持的第一数据类型,在已封装的实现类中获取相对应的关联属性,再根据预设的宏文件将所述关联属性转换为可支持的第二数据类型,实现了数据类型直接通过调用宏实现数据类型的转换,而无需添加额外的计算机代码,在计算机软件/硬件的开发过程中,提升了开发者的开发效率,以及提高了软件系统的优化程度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据类型转换方法及终端。
背景技术
目前,在操作系统中,传统的数据类型转换的方法是当每次进行数据类型转换时,都需要通过添加额外的计算机代码才能实现,这种方式,在计算机软件/硬件的开发过程中,降低了开发者的开发效率,另外,对于通过计算机代码实现的软件系统,额外的计算机代码也会导致软件系统的代码冗余,造成软件系统的优化程度不高。
发明内容
有鉴于此,本发明实施例提供一种数据类型转换方法及终端,当进行数据类型的转换时,直接通过调用宏实现数据类型的转换,而无需添加额外的计算机代码,以此在计算机软件/硬件的开发过程中,提升开发者的开发效率及软件系统的优化程度。
一种数据类型转换方法,所述方法包括:
若接收到请求指令,获取需要转换的未支持的第一数据类型;
根据所述未支持的第一数据类型,在已封装的实现类中获取与所述未支持的第一数据类型相对应的关联属性;
根据预设的宏文件将所述关联属性转换为可支持的第二数据类型。
具体的,所述根据所述未支持的第一数据类型,在已封装的实现类中获取与所述未支持的第一数据类型相对应的关联属性,具体包括:调用预先已封装的实现类;根据所述预先已封装的实现类,将所述未支持的第一数据类型输出为类对象值;将所述类对象值作为所述关联属性。
具体的,所述根据预设的宏文件将所述关联属性转换为可支持的第二数据类型,具体包括:获取所述关联属性;识别所述关联属性;根据预设规则对所述关联属性进行拼接,得到相对应的目标关联属性;将所述目标关联属性作为所述第二数据类型。
具体的,所述预设的宏文件包括系统预定义的宏文件或者用户预定义的宏文件。
具体的,所述方法还包括:将所述可以支持的第二数据类型输出至对应的类中。
一种终端,所述终端包括:
第一获取单元,用于若接收到请求指令,获取需要转换的未支持的第一数据类型;
第二获取单元,用于根据所述未支持的第一数据类型,在已封装的实现类中获取与所述未支持的第一数据类型相对应的关联属性;
转换单元,用于根据预设的宏文件将所述关联属性转换为可支持的第二数据类型。
具体的,所述第二获取单元,具体包括:调用单元,用于用于调用预先已封装好的实现类;第一输出单元,用于根据所述预先已封装的实现类,将所述未支持的第一数据类型输出为类对象值;第一命令单元,用于将所述类对象值作为所述关联属性。
具体的,所述转换单元,具体包括:第三获取单元,用于获取所述关联属性;识别单元,用于识别所述关联属性;第四获取单元,用于根据预设规则对所述关联属性进行拼接,得到相对应的目标关联属性;第二命令单元,用于将所述目标关联属性作为所述第二数据类型。
具体的,所述预设的宏文件包括系统预定义的宏文件或者用户预定义的宏文件。
具体的,所述终端还包括:第二输出单元,用于将所述可支持的第二数据类型输出至对应的类中。
综上所述,本发明具有以下有益效果:本发明根据未支持的第一数据类型,在已封装的实现类中获取相对应的关联属性,再根据预设的宏文件将所述关联属性转换为可支持的第二数据类型,实现了数据类型直接通过调用宏实现数据类型的转换,而无需添加额外的计算机代码,有助于在计算机软件/硬件的开发过程中提升开发者的开发效率及软件系统的优化程度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种数据类型转换方法的流程示意图。
图2为本发明实施例一提供的一种数据类型转换方法的另一流程示意图。
图3为本发明实施例一提供的一种数据类型转换方法的另一流程示意图。
图4为本发明实施例二提供的一种数据类型转换方法的流程示意图。
图5为本发明实施例提供的一种终端的示意性框图。
图6为本发明实施例提供的一种终端的另一示意性框图。
图7为本发明实施例提供的一种终端的另一示意性框图。
图8为本发明实施例提供的一种终端的另一示意性框图。
图9是本发明实施例提供的一种终端的另一实施例的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例一提供的一种数据类型转换方法的流程示意图。该方法包括步骤S101~S103。
S101,若接收到请求指令,获取需要转换的未支持的第一数据类型。具体的,本发明实施例中所述的请求指令携带有用户提供的需要转换的数据类型,准确的说,用户需要在相应的类方法中输入需要转换的数据类型,在IOS语言中并不能支持在类别里给类添加属性,因此对于数据类型,则需要将用户提供的未支持的数据类型转换成IOS语言中支持的数据类型。
S102,根据未支持的第一数据类型,在已封装的实现类中获取与未支持的第一数据类型相对应的关联属性。具体的,在本发明实施例中,已封装的实现类为NSNumber类,在IOS语言中,NSNumber类可以将未支持的第一数据类型进行包装,并形成一个类对象值,将该类对象值作为所述关联属性。
S103,根据预设的宏文件将关联属性转换为可支持的第二数据类型。具体的,在本发明实施例中,所述的预设的宏文件包括系统预定义的宏文件或者用户预定义的宏文件,本发明实施例的预设的宏文件为metamacro_concat宏,metamacro_concat宏为系统预定义的宏文件,通过调用metamacro_concat宏可以将关联属性按照IOS语言支持的数据类型进行拼接,从而得到IOS语言支持的数据类型。
由以上可见,本发明实施例根据未支持的第一数据类型,在已封装的实现类中获取相对应的关联属性,再根据预设的宏文件将所述关联属性转换为可支持的第二数据类型,实现了数据类型直接通过调用宏实现数据类型的转换,而无需添加额外的计算机代码,在计算机软件/硬件的开发过程中,提升了开发者的开发效率,以及提高了软件系统的优化程度。
进一步的,在本发明实施例中,如图2所示,步骤S102中,根据未支持的第一数据类型,在已封装的实现类中获取与未支持的第一数据类型相对应的关联属性,具体包括步骤S201~S203。
S201,调用预先已封装的实现类。具体的,在本发明实施例中,已封装的实现类为NSNumber类,需要为NSNumber类定义一个对象,并向该对象发送未支持的第一数据类型,例如,为NSNumber类定义对象*number,若此时所述未支持的第一数据类型为int类型时,那么就将int类型发送给对象*number。
S202,根据预先已封装的实现类,将未支持的第一数据类型输出为类对象值。具体的,在本发明实施例中,将int类型发送给NSNumber类的对象*number后,经过NSNumber类的包装得到[intValue],将[intValue]作为NSNumber类的类对象值。
S203,将类对象值作为所述关联属性。
进一步的,在本发明实施例中,如图3所示,步骤S103中,根据预设的宏文件将关联属性转换为可支持的第二数据类型,具体包括步骤S301~S304。
S301,获取关联属性。
S302,识别关联属性。具体的,在本发明实施例中,通过识别关联属性,确定关联属性的所属的数据类型,以便通过预设的宏文件进行准确的拼接并得到相应的可支持的数据类型。
S303,根据预设规则对关联属性进行拼接,得到相对应的目标关联属性。具体的,在本发明实施例中,所述预设规则可以是在类对象值上先拼接一个空隔,再拼接上一个变量,其中,变量的类型与所识别的关联属性所属的数据类型一致,对于不同的数据类型,变量的类型便会不同,例如,若识别到的数据类型为int类型,则变量的类型为整型,再例如,对于int类型的数据类型,对类对象值[intValue]进行拼接的方法可以为:[变量+空隔+intValue],最后将[变量+空隔+intValue]作为目标关联属性。
S304,将目标关联属性作为第二数据类型。
在本发明一种数据类型转换方法的另一个实施例中,如图4所示,为本发明另一个实施例中提供的一种数据类型转换方法的流程示意图,其包括步骤S401~S404(其中,步骤S401~S403与本发明实施例一中的步骤S101~S103相同,因此不再详述)。
S401,若接收到请求指令,获取需要转换的未支持的第一数据类型。
S402,根据未支持的第一数据类型,在已封装的实现类中获取与未支持的第一数据类型相对应的关联属性。
S403,根据预设的宏文件将关联属性转换为可支持的第二数据类型。
S404,将可支持的第二数据类型输出至对应的类中。具体的,在本发明实施例中,通过步骤S401~S403中对所述未支持的第一数据类型进行转换并得到可支持的第二数据类型后,将所述可支持的第二数据类型输出到对应的类中,表示已完成对所述未支持的第一数据类型的转换。
由以上可见,本发明实施例将最终转换得到的可支持的第二数据类型输出至对应的类中,可以帮助用户验证数据类型转换的准确性。
如图5所示,对应上述一种数据类型转换方法,本发明实施例还提出一种终端,该终端100包括:第一获取单元10、第二获取单元20、转换单元30。
其中第一获取单元10,用于若接收到请求指令,获取需要转换的未支持的第一数据类型。
第二获取单元20,用于根据所述未支持的第一数据类型,在已封装的实现类中获取与所述未支持的第一数据类型相对应的关联属性。
转换单元30,用于根据预设的宏文件将所述关联属性转换为可支持的第二数据类型。
具体的,如图6所示,所述第二获取单元20,具体包括:
调用单元201,用于调用预先已封装好的实现类;
第一输出单元202,用于根据所述预先已封装的实现类,将所述未支持的第一数据类型输出为类对象值。
第一命令单元203,用于将所述类对象值作为所述关联属性。
具体的,如图7所示,所述转换单元30,具体包括:
第三获取单元301,用于获取所述关联属性。
识别单元302,用于识别所述关联属性。
第四获取单元303,用于根据预设规则对所述关联属性进行拼接,得到相对应的目标关联属性。
第二命令单元304,用于将所述目标关联属性作为所述第二数据类型。
具体的,所述预设的宏文件包括系统预定义的宏文件或者用户预定义的宏文件。
具体的,如图8所示,所述终端100还包括:第二输出单元40,用于将所述可支持的第二数据类型输出至对应的类中。
图9为本发明的终端的另一实施例的结构组成示意图。如图9所示,其可包括:输入装置101、输出装置102、收发装置103、存储器104以及处理器105,其中:
所述输入装置101,用于接收外部访问控制设备的输入数据。具体实现中,本发明实施例所述的输入装置101可包括键盘、鼠标、光电输入装置、声音输入装置、触摸式输入装置、扫描仪等。
所述输出装置102,用于对外输出访问控制设备的输出数据。具体实现中,本发明实施例所述的输出装置102可包括显示器、扬声器、打印机等。
所述收发装置103,用于通过通信链路向其他设备发送数据或者从其他设备
接收数据。具体实现中,本发明实施例的收发装置103可包括射频天线等收发器件。
所述存储器104,用于存储带有各种功能的程序数据。本发明实施例中存储器104存储的数据包括可调用并运行的程序数据。具体实现中,本发明实施例的存储器104可以是系统存储器,比如,挥发性的(诸如RAM),非易失性的(诸如ROM,闪存等),或者两者的结合。具体实现中,本发明实施例的存储器104还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。
所述处理器105,用于调用所述存储器104中存储的程序数据,并执行如下操作:
若接收到请求指令,获取需要转换的未支持的第一数据类型;根据所述未支持的第一数据类型,在已封装的实现类中获取与所述未支持的第一数据类型相对应的关联属性;根据预设的宏文件将所述关联属性转换为可支持的第二数据类型。
进一步地,所述处理器105还执行如下操作:
调用预先已封装的实现类;根据所述预先已封装的实现类,将所述未支持的第一数据类型输出为类对象值;将所述类对象值作为所述关联属性。
进一步地,所述处理器105还执行如下操作:
获取所述关联属性;识别所述关联属性;根据预设规则对所述关联属性进行拼接,得到相对应的目标关联属性;将所述目标关联属性作为所述第二数据类型。
进一步地,所述处理器105还执行如下操作:
将所述可支持的第二数据类型输出至对应的类中。
本发明所有实施例中的单元可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端中的单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种数据类型转换方法,其特征在于,所述方法包括:
在接收到请求指令时,获取需要转换的未支持的第一数据类型;
根据所述未支持的第一数据类型,在已封装的实现类中获取与所述未支持的第一数据类型相对应的关联属性;
根据预设的宏文件将所述关联属性转换为可支持的第二数据类型;
其中,所述根据所述未支持的第一数据类型,在已封装的实现类中获取与所述未支持的第一数据类型相对应的关联属性,具体包括:
调用预先已封装的实现类,其中,所述已封装的实现类为NSNumber类,为所述NSNumber类定义一个对象,并向所述对象发送所述未支持的第一数据类型;
根据所述预先已封装的实现类,将所述未支持的第一数据类型输出为类对象值;
将所述类对象值作为所述关联属性;
所述根据预设的宏文件将所述关联属性转换为可支持的第二数据类型,具体包括:
获取所述关联属性;
识别所述关联属性;
根据预设规则对所述关联属性进行拼接,得到相对应的目标关联属性,所述预设规则为在类对象值上先拼接一个空隔,再拼接上一个变量,其中,所述变量的类型与所识别的关联属性所属的数据类型一致;
将所述目标关联属性作为所述第二数据类型。
2.如权利要求1所述的方法,其特征在于,所述预设的宏文件包括系统预定义的宏文件或者用户预定义的宏文件。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述可支持的第二数据类型输出至对应的类中。
4.一种终端,其特征在于,包括:
第一获取单元,用于若接收到请求指令,获取需要转换的未支持的第一数据类型;
第二获取单元,用于根据所述未支持的第一数据类型,在已封装的实现类中获取与所述未支持的第一数据类型相对应的关联属性;
转换单元,用于根据预设的宏文件将所述关联属性转换为可支持的第二数据类型;
所述第二获取单元,具体包括:
调用单元,用于调用预先已封装好的实现类,其中,所述已封装的实现类为NSNumber类,为所述NSNumber类定义一个对象,并向所述对象发送所述未支持的第一数据类型;
第一输出单元,用于根据所述预先已封装的实现类,将所述未支持的第一数据类型输出为类对象值;
第一命令单元,用于将所述类对象值作为所述关联属性;
所述转换单元,具体包括:
第三获取单元,用于获取所述关联属性;
识别单元,用于识别所述关联属性;
第四获取单元,用于根据预设规则对所述关联属性进行拼接,得到相对应的目标关联属性,所述预设规则为在类对象值上先拼接一个空隔,再拼接上一个变量,其中,所述变量的类型与所识别的关联属性所属的数据类型一致;
第二命令单元,用于将所述目标关联属性作为所述第二数据类型。
5.如权利要求4所述的终端,其特征在于,所述预设的宏文件包括系统预定义的宏文件或者用户预定义的宏文件。
6.如权利要求4所述的终端,其特征在于,所述终端还包括:
第二输出单元,用于将所述可支持的第二数据类型输出至对应的类中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610727305.1A CN108304188B (zh) | 2016-08-25 | 2016-08-25 | 一种数据类型转换方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610727305.1A CN108304188B (zh) | 2016-08-25 | 2016-08-25 | 一种数据类型转换方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108304188A CN108304188A (zh) | 2018-07-20 |
CN108304188B true CN108304188B (zh) | 2021-11-26 |
Family
ID=62871403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610727305.1A Active CN108304188B (zh) | 2016-08-25 | 2016-08-25 | 一种数据类型转换方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108304188B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158894A (zh) * | 2006-10-08 | 2008-04-09 | 上海科泰世纪科技有限公司 | 一种构件化软件系统中动态自动适配的编程系统及方法 |
CN103365665A (zh) * | 2013-07-25 | 2013-10-23 | 成都品果科技有限公司 | 一种基于虚拟指令的应用程序移植方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5898871A (en) * | 1994-12-07 | 1999-04-27 | Next Software, Inc. | Dynamic object communication protocol |
US6820268B2 (en) * | 2000-10-30 | 2004-11-16 | Next Computer, Inc. | Method for associating data bearing objects with user interface objects |
US8209341B2 (en) * | 2008-09-30 | 2012-06-26 | International Business Machines Corporation | Configurable transformation macro |
-
2016
- 2016-08-25 CN CN201610727305.1A patent/CN108304188B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158894A (zh) * | 2006-10-08 | 2008-04-09 | 上海科泰世纪科技有限公司 | 一种构件化软件系统中动态自动适配的编程系统及方法 |
CN103365665A (zh) * | 2013-07-25 | 2013-10-23 | 成都品果科技有限公司 | 一种基于虚拟指令的应用程序移植方法 |
Non-Patent Citations (2)
Title |
---|
"iOS用宏在category里给对象添加属性";uxyheaven;《https://blog.csdn.net/uxyheaven/article/details/46789065》;20150707;第1-7页 * |
"用来在category里加属性的宏";iSeen;《https://www.cnblogs.com/znios/p/4625704.html》;20150706;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108304188A (zh) | 2018-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109636317B (zh) | 业务控制方法、装置、系统及存储介质 | |
CN110046023B (zh) | 一种基于区块链智能合约的数据处理方法及系统 | |
CN106970820B (zh) | 代码存储方法及代码存储装置 | |
US9311049B2 (en) | System to improve numereical conversions and associated methods | |
CN109933404B (zh) | 一种基于区块链智能合约的编解码方法及系统 | |
US20140298318A1 (en) | Computer-executable application packaging method, computer-executable device and storage media performing the same | |
CN108376073B (zh) | 一种测试软件包生成方法及终端 | |
CN110048846B (zh) | 一种基于区块链智能合约的签名验证方法及系统 | |
CN110968601A (zh) | 一种数据查询处理方法及装置 | |
CN111506579B (zh) | 一种智能合约代码的生成方法、程序及设备 | |
CN106055375B (zh) | 应用程序安装方法及装置 | |
CN110046991B (zh) | 一种基于区块链智能合约的数据处理方法及系统 | |
CN111158597A (zh) | 一种元数据读取方法、装置及电子设备和存储介质 | |
CN111124480B (zh) | 应用程序包的生成方法、装置、电子设备及存储介质 | |
CN111309304B (zh) | 一种生成idl文件的方法、装置、介质和电子设备 | |
CN113536174A (zh) | 一种界面加载方法、装置及设备 | |
CN111159278A (zh) | 数据展示方法及装置、电子设备和计算机可读存储介质 | |
CN107239303B (zh) | 应用程序更新包生成及应用程序更新的方法、装置 | |
CN108304188B (zh) | 一种数据类型转换方法及终端 | |
CN110109718B (zh) | 一种应用程序接口调用方法及装置 | |
CN113342553A (zh) | 一种数据的获取方法、装置、电子设备及存储介质 | |
CN108170557B (zh) | 用于输出信息的方法和装置 | |
CN113282283B (zh) | 一种操作数据库表的方法、装置及电子设备 | |
CN113472565B (zh) | 服务器功能的扩容方法、装置、设备和计算机可读介质 | |
CN109947546B (zh) | 一种任务执行方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |