解析数据时,快速查看当前需要创建的数据模型的所有属性,不用每个都写,直接打印粘贴

创建一个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:@"
%@
",code];
    }];
    
    NSLog(@"数据模型属性------
%@",codes);
}

@end
原文地址:https://www.cnblogs.com/Crazy-ZY/p/5642677.html