随着技术的不断发展,越来越多枯燥,乏味的代码,想必大家早已经讨厌,肯定需要找到一种工具来替代我们的手动复制,我相信现在已经不会再有人去专门写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个都是有各自的优点,大家可以根据自己喜欢的去尝试。如果有发现更好用的,欢迎留言和交流。
网友评论