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

Posted 成长在于积累

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析数据时,快速查看当前需要创建的数据模型的所有属性,不用每个都写,直接打印粘贴相关的知识,希望对你有一定的参考价值。

创建一个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

 

以上是关于解析数据时,快速查看当前需要创建的数据模型的所有属性,不用每个都写,直接打印粘贴的主要内容,如果未能解决你的问题,请参考以下文章

图表数据的核心数据模型设计

如何使用 retorfit2 创建用于解析 Json 的通用模型类?

MongoDB数据库常用操作

SwiftUI之深入解析如何处理特定的数据和如何在视图中适配数据模型对象

解析 JSON 文件(本地存储),从而快速创建对象数组

比较逻辑模型时的ANOVA函数对于Deviance没有p值