iOS JSON字典转模型model

iOS开发中,经常会用到字典转模型,咱们平常常用的是MJExstend框架,该框架功能完善,但是在咱们用的时候基本上只是在数据解析的时候会用到json字典转模型,仅此一个功能,你们庞大的一套框架,是不是有些浪费啦,所以咱们自己写一个小的分类,运用<objc/runtime.h>一点点知识点就可以搞定,下面直接上代码:该分类有三个功能:(1)字典 转 模型;(2)模型 转字符串;(3)模型 转 字典。

#import <Foundation/Foundation.h>

 

@interface NSObject (ZJExtend)

+(instancetype)modelWithJson:(NSDictionary *)json;

-(NSDictionary *)objClassInPropertyName;

-(NSString *)toString;

-(NSDictionary*)toDictionary;

@end

#import "NSObject+ZJExtend.h"

#import <objc/runtime.h>

@implementation NSObject (ZJExtend)

/** 属性名称里内存放的类型

 *  @{@"propertyName":@"Class"} 即属性名称:存放类型

 */

-(NSDictionary *)objClassInPropertyName{

    return [NSDictionary dictionary];

}

+(instancetype)modelWithJson:(NSDictionary *)json{

    id model = [[self alloc] init];

    if (model && [json isKindOfClass:[NSDictionary class]]){

        // 遍历所有属性 采用KVO赋值

        unsigned int count;

        objc_property_t *properties = class_copyPropertyList([model class], &count);

        for(int i=0;i<count;i++){

            objc_property_t property = properties[i];

            const char * name = property_getName(property);

            NSString * propertyName = [NSString stringWithCSt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值