美文网首页iOS技术点资源整理
模型属性生成器,告别手动输入模型属性

模型属性生成器,告别手动输入模型属性

作者: 豫风 | 来源:发表于2017-12-24 11:17 被阅读42次

效果图

modelGenerateGif.gif

说明

简单易用的工具类,根据网络请求的数据自动导入模型属性,可以自定义字段,支持嵌套模型,不用每次都需要手动输入属性,减少输入错误。

使用方法

1、创建模型,如:HHModel、Hello、Word、为用户自定义模型。
2、调用如下类方法创建属性方法generateProperty
3、运行你的程序,你会发现模型属性已经出现

包含方法:

NSObject+HHModelGenerate.h
/**
 快速生成模型属性
 
 @param sources    数组或字典
 @para  map        替换字段映射
 @para  container  映射对象
 */
+ (void)generateProperty:(id)sources;
+ (void)generateProperty:(id)sources map:(NSDictionary *)map;
+ (void)generateProperty:(id)sources map:(NSDictionary *)map container:(NSDictionary <NSString *,Class>*)container;

1、数组包含属性:

- (void)testMethod1
{
    NSArray *array =
    @[
      @"perporty1",
      @"perporty2",
      @"perporty3",
      ];
    [HHModel generateProperty:array];
}

2、数组包含字典:

- (void)testMethod2
{
    NSArray *array =
    @[
      @{
          @"property1":@"hi",
          @"property2":@"hi",
        },
      @{
          @"property1":@"nihao",
          @"property2":@"nihao",
        }
      ];
    [HHModel generateProperty:array];
}

3、字典包含数组:

- (void)testMethod3
{
    NSDictionary *dict =
    @{
      @"a1":@[
          @{
              @"helloProperty1":@"hi",
              @"helloProperty2":@"hi",
              },
          ],
      };
    [HHModel generateProperty:dict map:@{@"a1":@"helloModel"} container:@{@"a1":Hello.class}];
}

4、嵌套属性:

- (void)testMethod4
{
    NSDictionary *dict =
    @{
      @"hello":@{
              @"helloProperty1":@"hi",
              @"helloProperty2":@"hi",
              },
      @"word":@[
              @{
                  @"wordProperty1":@"hi"
                  }
              ],
      @"c":@"hi",
      @"d":@"hi"
      };
    [HHModel generateProperty:dict map:@{@"hello":@"helloModel",@"word":@"wordModelArray"} container:@{@"hello":Hello.class,@"word":Word.class}];
}

Demo下载地址:
HHModelGenerate

相关文章

  • 模型属性生成器,告别手动输入模型属性

    效果图 说明 简单易用的工具类,根据网络请求的数据自动导入模型属性,可以自定义字段,支持嵌套模型,不用每次都需要手...

  • 定位之层模型

    css当中除了盒模型之外还有层模型,而出发层模型的主要属性就是position属性,该属性有四个属性值,没有sta...

  • CSS学习笔记2

    css常用属性 盒模型 包含:内容、padding、border、margin 盒模型相关属性 内容属性 widt...

  • Runtime(五) 实战

    实战一: 数据转模型 目标: 数据转模型考验知识点: 获取属性列表, 关联属性, 字典转模型 1, 获取类的属性列...

  • css盒模型

    盒模型包括哪些属性? 盒模型 盒模型的属性:(从内到外)width、padding、border、margin w...

  • css盒子模型

    手动设置盒子模型 css3属性 box-sizing box-sizing:content-box是W3C盒子模型...

  • 使用MJExtension时用到的核心代码

    最简单的字典转模型 JSON字符串转模型 模型中嵌套模型 A模型中有数组属性T,T里面是B模型 模型中的属性名和字...

  • 任务9-盒模型

    盒模型包括哪些属性? 盒模型: Paste_Image.png 盒模型包括属性有: margin:外边距 bord...

  • Box-Model-Assignment

    1.盒模型包括哪些属性 以上图为例,去阐述盒模型的各个属性: content属性:规定内容区域,在标准盒模型中,宽...

  • 6. 实现字典转模型的自动转换

    思路:利用运行时,遍历模型中所有属性,根据模型的属性名,去字典中查找key,取出对应的值,给模型的属性赋值。步骤:...

网友评论

    本文标题:模型属性生成器,告别手动输入模型属性

    本文链接:https://www.haomeiwen.com/subject/wggcgxtx.html