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

    创建一个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
  • 相关阅读:
    Microsoft Visual Studio 2010(vs10)安装与使用
    961专业课复习资料
    spring boot: 输出json
    spring boot: 热部署(一) run as – java application (spring-loader-1.2.4.RELEASE.jar)
    FastJson/spring boot: json输出方法二
    FastJson/spring boot: json输出
    FastJson中文乱码
    FastJSON 简单使用
    mytabits表关联一对一(多对一?)
    Model/ModelMap 和 ModelAndView 的区别使用
  • 原文地址:https://www.cnblogs.com/Crazy-ZY/p/5642677.html
Copyright © 2011-2022 走看看