美文网首页iOS学习
快速将JSON数据变为Model的属性-用起来很爽

快速将JSON数据变为Model的属性-用起来很爽

作者: 草原野马 | 来源:发表于2017-10-17 11:11 被阅读36次

    随着技术的不断发展,越来越多枯燥,乏味的代码,想必大家早已经讨厌,肯定需要找到一种工具来替代我们的手动复制,我相信现在已经不会再有人去专门写xcode  OC模型中的属性吧,以前xcode支持插件的时候,我相信很多人都经常使用ESJsonFormat-Xcode插件,和MJExtension配合使用,简直就是解放我们的双手的一把利器,随着xcode的插件被禁用,我们已经习惯了这么简便的方法,一下让我们回到原始状态,真的就很难受了,那就就开始找这样的工具。发现了目前的2种简便方法;

    第一种办法

    根据字典的值,对应的类型答应出属性和key 创建一个工具类 直接调用这个方法就可以看到打印了。

    + (void)MApropertyModelWithDictionary:(NSDictionary *)dict

    {

    NSMutableString *strM = [NSMutableString string];

    [dict enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {

    NSString *str;

    NSLog(@"%@",[obj class]);

    if ([NSStringFromClass([obj class]) containsString:@"String"]) {

    str = [NSString stringWithFormat:@"/** ====属性备注===== */\n@property (nonatomic, copy) NSString *%@;",key];

    }

    if ([NSStringFromClass([obj class]) containsString:@"Number"]) {

    str = [NSString stringWithFormat:@"@/** ====属性备注===== */\nproperty (nonatomic, assign) int %@;",key];

    }

    if ([NSStringFromClass([obj class]) containsString:@"Array"]) {

    str = [NSString stringWithFormat:@"/** ====属性备注===== */\n@property (nonatomic, copy) NSArray *%@;",key];

    }

    if ([NSStringFromClass([obj class]) containsString:@"Dictionary"]) {

    str = [NSString stringWithFormat:@"/** ====属性备注===== */\n@property (nonatomic, copy) NSDictionary *%@;",key];

    }

    if ([NSStringFromClass([obj class]) containsString:@"Boolean"]) {

    str = [NSString stringWithFormat:@"/** ====属性备注===== */\n@property (nonatomic, assign) BOOL %@;",key];

    }

    [strM appendFormat:@"\n%@\n",str];

    }];

    NSLog(@"\n\n\n=======自动生成属性声明的代码=======\n\n\n%@",strM);

    }

    参考具体简书地址 http://www.jianshu.com/p/951a82db533d

    第二种办法

    xcode的不能用这样的插件,那么就可以把插件写成mac的程序

    在github 里面搜索 ESJsonFormatForMac  里面详细讲解了使用方法,我就不再这里啰嗦了,反正是好用到爆,还可以写请求的URL,直接获取的返回的数据,直接生成model  . 不仅可以和MJExtension配合使用,还可以和YYModel混合使用。而且还支持swift.功能很强大。放上截图

    github 地址 超级好用的模型创建者

    Mac上运行的截图

    上面的2个都是有各自的优点,大家可以根据自己喜欢的去尝试。如果有发现更好用的,欢迎留言和交流。

    相关文章

      网友评论

        本文标题:快速将JSON数据变为Model的属性-用起来很爽

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