一种模型生成方法和系统与流程

文档序号:12664435阅读:来源:国知局

技术特征:

1.一种模型生成方法,其特征在于,该方法包括:

步骤S101,输入需要解析的字符串,并输入需要生成的模型的类名XXModel,选择需要使用的编程语言,选择需要输出的模型类型,确定要使用的第三方库,其中所述第三方库为Mantle、JSONModel或YYModel中的任意一种,所述编程语言包括Objective-C、Swift两种语言中的任意一种,如果采用Objective-C语言,则输出的模型类型为.h 和 .m,.h为头文件,.m为源文件,如果采用Swift语言,则输出的模型类型为.swfit;

步骤S102,检查输入的需要解析的字符串的内容是否符合所选择的需要输出的模型类型的标准格式;若符合,则字符串有效,进入步骤S103;若不符合,则字符串无效,输出用于指示模型生成错误的信息,并结束本次模型生成;

步骤S103,使用步骤S101所述确定要使用的第三方库对输入的字符串进行解析和判断,从模板存储路径读取所选择的需要输出的模型类型对应的模板文件,创建模板文件的副本,并进行命名;

步骤S104,在内存中创建键值对集合,该集合用来存储解析结果中的不符合iOS命名规范的属性字段,替换所述模板文件中的类名片段和属性声明片段,将不符合规范的属性添加到所述集合中,处理不符合iOS命名规范的属性,进行属性名映射,输出XXModel.h和XXModel.m文件,所述的XXModel.h是头文件,所述的XXModel.m是源文件;

步骤S105,将XXModel.h和XXModel.m文件添加到iOS项目中。

2.根据权利要求1所述的模型生成方法,其特征在于,所述步骤 S103对输入的字符串进行解析和判断包括:

对输入的字符串进行解析,若解析失败,则提示失败并输出解析错误信息,并结束本次模型生成;

若解析成功,则对解析结果进行判断,若解析结果为数组类型NSArry类型,则提示类型错误并输出类型错误信息,并结束本次模型生成;若解析结果为字典类型NSDictionary类型,则将解析结果输出。

3.根据权利要求1所述的模型生成方法,其特征在于,所述的步骤S103的模板文件具体包括:

模板文件为 .h 文件和 .m 文件;

在 .h 文件中将模型的类名以第一占位符标识,属性名称以第二占位符标识;

在 .m文件中将模型的类名以第三占位符标识,属性名称以第四占位符标识。

4.根据权利要求3所述的模型生成方法,其特征在于,所述步骤S104的输出XXModel.h,包括:

查找到XXModel.h中的以第一占位符标识的第一类名片段,并将其替换为模型的类名XXModel;

查找到XXModel.h中的以第二占位符标识的第一属性声明片段,将步骤S104中所创建的集合中存储的解析结果拼接成属性声明语句,并替换掉第二占位符;

如果模型的属性命名不符合iOS命名规范,则进行校正,将校正前后的结果以键值对的方式写入所述集合中,输出XXModel.h文件。

5.根据权利要求3所述的模型生成方法,其特征在于,所述步骤S104的输出XXModel.m包括:

查找到XXModel.m中的以第三占位符标识的第二类名片段,并将其替换为模型的类名XXModel;

查找到XXModel.m中的以第四占位符标识的第二属性声明片段,判断所述集合的内容是否为空;

如果为空,则说明模型的所有属性命名符合iOS命名规范,删除第四占位符,输出XXModel.m文件,进入步骤S105;如果所述集合内容不为空,则说明模型的属性命名不符合iOS命名规范,在进行属性名映射后,输出XXModel.m文件。

6.一种模型生成系统,该生成系统包括输入和选择模块、检查模块、第一处理模块、第二处理模块以及添加模块,其特征在于:

输入和选择模块,用于输入需要解析的字符串,并输入需要生成的模型的类名XXModel,选择需要使用的编程语言,选择需要输出的模型类型,确定要使用的第三方库,其中所述第三方库为Mantle、JSONModel或YYModel中的任意一种;

检查模块,用于检查输入的需要解析的字符串的内容是否符合所选择的需要输出的模型类型的标准格式;若符合,则字符串有效;否则无效,并输出错误信息;

第一处理模块,使用所述确定要使用的第三方库对输入的字符串进行解析和判断,从模板存储路径读取所选择的需要输出的模型类型对应的模板文件,创建模板文件的副本,并进行命名;

第二处理模块,在内存中创建键值对集合,用来放置解析结果中的不符合iOS命名规范的属性字段,替换所述模板文件中的类名片段和属性声明片段,将不符合iOS命名规范的属性添加到所述集合中,处理不符合iOS命名规范的属性,输出XXModel.h和XXModel.m文件;

添加模块,用于将XXModel.h和XXModel.m文件添加到iOS项目中。

7.根据权利要求6所述的模型生成系统,其特征在于,第一处理模块进一步包括解析单元和判断单元:

解析单元,用于对输入的字符串进行解析,若解析失败,则提示失败并输出错误信息;

判断单元,对解析结果进行判断,若解析结果为数组类型NSArry类型,则提示类型错误并输出错误信息;若解析结果为字典类型NSDictionary类型,则将解析结果输出。

8.根据权利要求6所述的模型生成系统,其特征在于,所述的模板文件具体包括:

模板文件为 .h 文件和 .m 文件,在 .h 文件中将模型的类名以第一占位符标识,属性名称以第二占位符标识,在 .m文件中同样将模型的类名以第三占位符标识,属性名称以第四占位符标识。

9.根据权利要求8所述的模型生成系统,其特征在于,所述第二处理模块包括第一输出单元,具体包括:

第一输出单元,用于输出模板文件XXModel.h,定位到XXModel.h中的以第一占位符标识的第一类名片段,并将其替换为XXModel,定位到以第二占位符标识的第一属性声明片段,将所创建的集合中存储的解析结果拼接成属性声明语句,并替换掉第二占位符,如果模型的属性命名不符合iOS命名规范,则进行校正,将校正前后的结果以键值对的方式写入所述集合中,输出XXModel.h文件。

10.根据权利要求8所述的模型生成系统,其特征在于,所述第二处理模块包括第二输出单元,具体包括:

第二输出单元,用于输出模板文件XXModel. m,定位到XXModel.m中的以第三占位符标识的第二类名片段,并将其替换为XXModel,定位到以第四占位符标识的第二属性声明片段,判断所述集合的内容是否为空,如果为空,则说明模型的所有属性命名符合iOS命名规范,删除第四占位符,输出XXModel.m文件;如果所述集合内容不为空,则说明模型的属性命名不符合iOS命名规范,在进行属性名映射后,输出XXModel.m文件。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1