美文网首页
字典转换模型时,自动生成模型的属性字符串

字典转换模型时,自动生成模型的属性字符串

作者: 张俊凯 | 来源:发表于2019-01-22 11:46 被阅读6次
  • 需求场景:
    需要新建一个模型,在模型里要挨个复制粘贴key,确定修饰类型
  • 解决思路:
    给字典建立一个分类,遍历字典,判断每一个值的类型,拼接上对应的修饰字符串,打印在控制台之后复制粘贴到模型的.h文件里,节约时间
  • 代码实现:

@implementation NSDictionary (moreFunction)
- (void)autoCreatePropetyCode{
    
    // 模型中属性一一对应字典的key
    // 有多少个key,则生成多少个属性
    
    // 创建可变字符串用于拼接属性
    NSMutableString *codes = [NSMutableString string];
    // 遍历字典
    [self enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull value, BOOL * _Nonnull stop) {
        
        
        NSString *code = nil;
        
        if ([value isKindOfClass:[NSString class]]) {
            code = [NSString stringWithFormat:@"@property (nonatomic, cppy) NSString *%@;",key];
        } else if ([value isKindOfClass:NSClassFromString(@"__NSCFBoolean")]){
            code = [NSString stringWithFormat:@"@property (nonatomic, assign) BOOL %@;",key];
        } else if ([value isKindOfClass:[NSNumber class]]) {
            code = [NSString stringWithFormat:@"@property (nonatomic, assign) NSInteger %@;",key];
        } else if ([value isKindOfClass:[NSArray class]]) {
            code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSArray *%@;",key];
        } else if ([value isKindOfClass:[NSDictionary class]]) {
            code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSDictionary *%@;",key];
        }
        
        // 拼接字符串
        [codes appendFormat:@"\n%@\n",code];
        
    }];
    
    // 打印属性
    NSLog(@"%@",codes);
    
}

@end
NSDictionary *dic = @{@"title":@"123123",
                          @"name":@"123123",
                          @"sex":@"123123"
                          };
    [dic autoCreatePropetyCode];
  • 控制台输出
@property (nonatomic, cppy) NSString *title;

@property (nonatomic, cppy) NSString *name;

@property (nonatomic, cppy) NSString *sex;

代码下载地址:https://github.com/zhangjk4859/iOSFactory
完。

相关文章

  • 字典转换模型时,自动生成模型的属性字符串

    需求场景:需要新建一个模型,在模型里要挨个复制粘贴key,确定修饰类型 解决思路:给字典建立一个分类,遍历字典,判...

  • KakaJson使用过程中遇到的bug

    在使用kakajson过程中。遇到了将模型转换成字符串的操作。结果kakajson将模型中的字符串属性转换为了字典...

  • 自动生成属性的模型

    利用 KVC 实现的自动生成属性的模型 调用下面的方法 在输出控制台输出属性模型, 利用kvc 属性名字与字典的 ...

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

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

  • Runtime字典转模型

    用一个分类实现字典转模型,分类头文件如下: 如果模型的属性有字典数组,想要将该字典数组转换成模型数组,那么在该模型...

  • 订阅功能

    模型 老师模型 订阅模型 喊单模型 模型属性 老师模型 id(老师id,不使用,自动生成) name(老师名称) ...

  • OC_YYModel字典转模型的几种详细用法

    目录 JSON转字符串 普通字典转模型 模型属性有自定义的模型YYUSer 属性有数组(数组里自定义模型),还有字...

  • runtime字典转模型

    KVC实现字典转模型 模型类Status 其中,模型中的属性都是我通过上篇介绍的自动获取模型属性的方式来获得的外部...

  • 提供一个model转字典的方法

    因项目中需要,实现了一个模型转换字典的方法,支持递归处理。方便快速将模型转换为字典或将属性转化为json,与jav...

  • 字典转模型(一)--自动生成属性

    一. 缘由 由于经常使用字典转模型,但是模型的属性的对照plist文件一个个添加,太过于浪费时间, 故创建一个字典...

网友评论

      本文标题:字典转换模型时,自动生成模型的属性字符串

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