runtime解析json数据

来源:互联网 发布:应该数控铣床编程书籍 编辑:程序博客网 时间:2024/04/28 11:56

runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API。 在我们平时编写的OC代码中, 程序运行过程时, 其实最终都是转成了runtime的C语言代码, runtime算是OC的幕后工作者。

下面简单介绍一下runtime使用场景之一  -----  json数据解析

思路其实非常简单:

1.要先清楚服务端字段名字,然后将自己的类里面字段的名字与其相同

2.使用class_copyPropertyList 函数获取当前类的所有字段

3.根据字段名取出对应的值,然后赋值即可


代码:

unsigned int count;

        objc_property_t *property_t_array = class_copyPropertyList([NSObject class], &count);

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

            objc_property_t pro_t = property_t_array[i];

            const char *pro_name = property_getName(pro_t);

            NSString *key = [NSStringstringWithUTF8String:pro_name];

            id value = [dic valueForKey:key];

            [self setValue:value forKey:key];

        }

        free(property_t_array);


是不是很简单的,其实就是当类的属性非常多的时候,不再需要一个一个的解析赋值,少了很多代码而已。

0 1
原创粉丝点击