美文网首页
自动生成属性代码

自动生成属性代码

作者: 薐驚 | 来源:发表于2017-06-14 11:40 被阅读0次
青春不是用来迷茫任性的

拿到网络数据,创建模型定义属性,这些不是很死板,写得很频繁很枯燥的代码吗?
为此我写了一个NSObject分类自动生成代码,实现:

+ (void)autoCreatePropertyCodeWithDict:(NSDictionary *)dict {
    NSMutableString *strM = [NSMutableString string];
    
    // 1.遍历字典,把字典中的所有key取出来,生成对应的属性代码
    [dict enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
        
        NSString *type;
        
        if ([obj isKindOfClass:NSClassFromString(@"__NSCFString")]) {
            type = @"NSString";
        }else if ([obj isKindOfClass:NSClassFromString(@"__NSCFArray")]){
            type = @"NSArray";
        }else if ([obj isKindOfClass:NSClassFromString(@"__NSCFNumber")]){
            type = @"NSNumber";
        }else if ([obj isKindOfClass:NSClassFromString(@"__NSCFDictionary")]){
            type = @"NSDictionary";
        }
        
        NSString *str;
        if ([type containsString:@"NSString"]) {
            str = [NSString stringWithFormat:@"@property (nonatomic, copy) %@ *%@;",type,key];
        }else if ([type containsString:@"NS"]) {
            str = [NSString stringWithFormat:@"@property (nonatomic, strong) %@ *%@;",type,key];
        }else{
            str = [NSString stringWithFormat:@"@property (nonatomic, assign) %@ %@;",type,key];
        }
        [strM appendFormat:@"\n%@\n",str];
        
    }];
    NSLog(@"\n\n/**************自动生成属性代码**************/\n %@ \n/**************自动生成属性代码**************/\n\n",strM);
}

用法:当我拿到数据 po打印一下


F339C92C-0B51-4A01-AF71-8F548E88108B.png

然后复制到模型中即可

相关文章

  • 自动生成属性

    // 自动生成属性代码

  • 自动生成属性代码

    拿到网络数据,创建模型定义属性,这些不是很死板,写得很频繁很枯燥的代码吗?为此我写了一个NSObject分类自动生...

  • 自动归档解档

    生成的是OC代码 下载AutoEncodeAndDecode文件, 输入属性名, 自动生成encodeWithCo...

  • iOS自动生成属性代码

    写一个NSObject分类自动生成代码 如何使用?在控制栏,打印po [NSObject propertyCode...

  • 自动生成模型属性代码

    假如一个字典中有很多属性,生成对应的模型要重复写很多@property (nonatomic, strong) ....

  • Lombok优缺点

    优点 通过注解自动生成样板代码,提高开发效率 代码简洁,只关注相关属性 新增属性后,无需刻意修改相关方法 缺点 降...

  • 探索C#之6.0语法糖剖析

    自动属性默认初始化 使用方法: 编译器生成代码: 从生成代码中可以看出编译器是在实例化构造函数时,初始化属性信息的...

  • iOS自动生成模型属性代码

    每次声明一个model要根据后台返回写好多属性感觉很蛋疼, 写了一个NSObject的分类分享出来, 只需要传入字...

  • @property各参数的作用以及用法

    1:@property的作用 . 自动生成私有属性. . 自动生成私有属性的getter setter方法的声明....

  • iOS自动模型属性及字典转模型

    1、一句代码自动生成模型属性 .h文件#import @inte...

网友评论

      本文标题:自动生成属性代码

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