还在为手写模型属性浪费时间吗,来一劳永逸吧

字典转模型的时候,虽然可以使用第三方框架MJExtension等转换,但是模型的属性还是要自己对着开发文档或者返回的数据打印出来去敲,这部分代码,来回切换,复制粘贴,没有技术含量,但是如果属性多的话,还是有可能有些差错,尽管很容易找出来,但是这种代码还是能偷懒最好啦

下面我介绍一个简单的生成模型属性的方法,就是给NSDictionary添加分类,写一个方法就好,代码如下:

#import "NSDictionary+PropertyCode.h"

@implementation NSDictionary (PropertyCode)

-(void) creatPropertyCode{

    NSMutableString *codes = [NSMutableString string];
    // 遍历字典,根据key生成属性
    [self enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull value, BOOL * _Nonnull stop) {
        
        NSString *code = nil;
        
        if ([value isKindOfClass:[NSString class]]) {
            code = [NSString stringWithFormat:@"@property (nonatomic,strong) 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

在分类添加这个方法后就可以让需要转为模型的字典调用该方法,打印出你需要的属性代码了,然后适当修改就好了~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对于从事 iOS 开发人员来说,所有的人都会答出【runtime 是运行时】什么情况下用runtime?大部分人能...
    梦夜繁星阅读 9,082评论 7 64
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,195评论 4 61
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,324评论 19 139
  • 嗯哼 18天的纠结今晚,我终于和平的打破的死力维持的关系。 距离和时间是个问题,但也不是问题,问题是我们怎么处理问...
    庄德坤阅读 1,748评论 0 0
  • 1.对于年龄小的孩子,培养孩子读经的兴趣比培养孩子读经的书量要重要得多。 2.没有人知道是南墙,谁也不会认为自己的...
    菜问妈妈阅读 2,695评论 0 0