创建一个NSDictionary类别:
#import <Foundation/Foundation.h> /** 根据网络请求返回的字典数据,写对应的模型。当属性多时,用手写很费功夫,可用这个类快速打印出所有的模型属性,直接粘贴即可 */ @interface NSDictionary (PropertyCode) //生成需要的属性代码 - (void)getPropertyCode; @end
#import "NSDictionary+PropertyCode.h" @implementation NSDictionary (PropertyCode) //生成需要的属性代码 - (void)getPropertyCode{ NSMutableString *codes = [NSMutableString string]; //遍历字典在所有的key一一对应 [self enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) { //key:属性名 NSString *code; if ([obj isKindOfClass:[NSString class]]) { code = [NSString stringWithFormat:@"@property (nonatomic ,strong) NSString *%@",key]; } else if ([obj isKindOfClass:NSClassFromString(@"__NSCFBoolean")]){ code = [NSString stringWithFormat:@"@property (nonatomic ,assign) BOOL %@;",key]; } else if ([obj isKindOfClass:[NSArray class]]) { code = [NSString stringWithFormat:@"@property (nonatomic ,strong) NSArray *%@",key]; } else if ([obj isKindOfClass:[NSDictionary class]]) { code = [NSString stringWithFormat:@"@property (nonatomic ,strong) NSDictionary *%@",key]; } else if ([obj isKindOfClass:[NSNumber class]]) { code = [NSString stringWithFormat:@"@property (nonatomic ,assign) NSInteger *%@",key]; } [codes appendFormat:@"\n%@\n",code]; }]; NSLog(@"数据模型属性------\n%@",codes); } @end
时间: 2024-10-12 21:00:06