ios对象转换为字典
来源:互联网 发布:智能手表推荐 知乎 编辑:程序博客网 时间:2024/05/20 06:25
/** * 对象转换为字典 * * @param obj 需要转化的对象 * * @return 转换后的字典 */+ (NSDictionary*)getObjectData:(id)obj { NSMutableDictionary *dic = [NSMutableDictionary dictionary]; unsigned int propsCount; objc_property_t *props = class_copyPropertyList([obj class], &propsCount); for(int i = 0;i < propsCount; i++) { objc_property_t prop = props[i]; NSString *propName = [NSString stringWithUTF8String:property_getName(prop)]; id value = [obj valueForKey:propName]; if(value == nil) { value = [NSNull null]; } else { value = [self getObjectInternal:value]; } [dic setObject:value forKey:propName]; } return dic;}+ (id)getObjectInternal:(id)obj { if([obj isKindOfClass:[NSString class]] || [obj isKindOfClass:[NSNumber class]] || [obj isKindOfClass:[NSNull class]]) { return obj; } if([obj isKindOfClass:[NSArray class]]) { NSArray *objarr = obj; NSMutableArray *arr = [NSMutableArray arrayWithCapacity:objarr.count]; for(int i = 0; i < objarr.count; i++) { [arr setObject:[self getObjectInternal:[objarr objectAtIndex:i]] atIndexedSubscript:i]; } return arr; } if([obj isKindOfClass:[NSDictionary class]]) { NSDictionary *objdic = obj; NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithCapacity:[objdic count]]; for(NSString *key in objdic.allKeys) { [dic setObject:[self getObjectInternal:[objdic objectForKey:key]] forKey:key]; } return dic; } return [self getObjectData:obj];}
0 0
- ios对象转换为字典
- iOS 对象转换成字典
- iOS 对象转化为字典
- IOS 字典快速转换为Model 模型
- IOS将字典转换成模型对象
- IOS 将请求参数字典转换为参数字符串
- iOS开发之将NSString字符串转换为字典NSDictionary
- iOS开发——对象与字典互相转换
- iOS对象(字典或数组)转化为JSon字符串
- iOS对象(字典或数组)转化为JSon字符串
- iOS对象(字典或数组)转化为JSon…
- Python -- 字典转换为列表
- Python 列表转换为字典
- 将对象转换成字典
- 把字典转化为对象
- iOS 字典JSON互相转换
- 使用runtime将任意对象中所有属性转换为字典
- django QuerySet对象转换成字典对象
- 不同的SDK之间引用了同一个jar包出现的警告
- Centos7.0 64位编译安装Nachos4.1 32位以及搭建交叉编译环境从尝试到放弃系列(一)
- 破解时常用汇编命令
- C# WinForm窗体及其控件自适应各种屏幕分辨率
- 编码的故事
- ios对象转换为字典
- 理解大型分布式网站你必须知道这些概念
- GCC 中的编译器堆栈保护技术
- MT6605 nfc驱动移植篇
- 行善的最高境界不是施舍而是引路
- 基于DHT11温湿度传感器的Android硬件访问服务的简单实现(三)
- 光照综述
- 保存/恢复 Activity 和 Fragment 状态的最佳实
- [深度学习] Batch Normalization算法介绍