// 设计模型属性代码:有了这个分类就可以不用自己写模型的属性代码了, 在需要的地方调用该方法传递一个字典进来就可以自动生成属性,打印出来后复制到模型类中即可
//
// NSObject+Property.m
// ElectronicsTaxS
//
// Created by Vitco on 16/5/11.
// Copyright © 2016年 tinghou. All rights reserved.
//
#import "NSObject+Property.h"
@implementation NSObject (Property)
/**
// 设计模型属性代码:有了这个分类就可以不用自己写模型的属性代码了, 在需要的地方调用该方法传递一个字典进来就可以自动生成属性,打印出来后复制到模型类中即可
[NSObject createPropertyCodeWithDict: ];
*/
+ (void)createPropertyCodeWithDict:(NSDictionary *)dict
{
NSMutableString *strM = [NSMutableString string];
// [dict enumerateKeysAndObjectsUsingBlock:<#^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop)block#>]
[dict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull propertyName, id _Nonnull value, BOOL * _Nonnull stop) {
// NSLog(@"%@ %@",propertyName,[value class]);
NSString *code;
if ([value isKindOfClass:NSClassFromString(@"__NSCFString")]) {
code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSString *%@;",propertyName]
;
}else if ([value isKindOfClass:NSClassFromString(@"__NSCFNumber")]){
code = [NSString stringWithFormat:@"@property (nonatomic, assign) int %@;",propertyName]
;
}else if ([value isKindOfClass:NSClassFromString(@"__NSCFArray")]){
code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSArray *%@;",propertyName]
;
}else if ([value isKindOfClass:NSClassFromString(@"__NSCFDictionary")]){
code = [NSString stringWithFormat:@"@property (nonatomic, strong) NSDictionary *%@;",propertyName]
;
}else if ([value isKindOfClass:NSClassFromString(@"__NSCFBoolean")]){
code = [NSString stringWithFormat:@"@property (nonatomic, assign) BOOL %@;",propertyName]
;
}
[strM appendFormat:@"\n%@\n",code];
}];
NSLog(@"%@",strM);
}
@end