码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-07-05 11:48:51      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:

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

 

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

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!