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
  • 相关阅读:
    Mac小知识点
    UIScrollView直接在StoryBoard中拖控件
    iOS小工具
    iOS设备信息
    Android Studio stuck on “Gradle: resolve dependancies '_debugCompile'” or 'detachedConfiguration1'
    iOS开发插件集
    Include guards
    oc单例
    Java反射中与自动装箱有关的坑及其解决方案
    ByxAOP——简易AOP框架
  • 原文地址:https://www.cnblogs.com/Crazy-ZY/p/5642677.html
Copyright © 2011-2022 走看看