自动生成属性代码

青春不是用来迷茫任性的

拿到网络数据,创建模型定义属性,这些不是很死板,写得很频繁很枯燥的代码吗?
为此我写了一个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

然后复制到模型中即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 日常开发中,我们拿到接口文档,会根据接口返回的数据来写模型。在之前我都是根据返回的字典一个个key这样对照着来创建...
    洛丹伦的夏天阅读 4,481评论 1 48
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,552评论 25 709
  • 一个人的“气场”,也就是通过这个人的言谈、举止、为人、处世等各种综合气质带来的受人尊重的影响力。把前面的的方面总结...
    磁针石阅读 2,312评论 0 1
  • 一个人要去做一件真正忠于自己内心的事,那么他往往只能一个人去做。
    路一思阅读 1,234评论 0 0
  • 一个人在外生活了将近五年,虽然在异国他乡,身边也有些许同学和盆友,但是每个人都有着自己的生活轨迹。 身边我们这几个...
    逗比的胡思乱想阅读 2,271评论 0 0

友情链接更多精彩内容