标签:model转字典
+ (NSDictionary *) entityToDictionary:(id)entity
{
Class clazz = [entity class];
u_int count;
objc_property_t* properties = class_copyPropertyList(clazz, &count);
NSMutableArray* propertyArray = [NSMutableArray arrayWithCapacity:count];
NSMutableArray* valueArray = [NSMutableArray arrayWithCapacity:count];
for (int i = 0; i < count ; i++)
{
objc_property_t prop=properties[i];
const char* propertyName = property_getName(prop);
[propertyArray addObject:[NSString stringWithCString:propertyName encoding:NSUTF8StringEncoding]];
// const char* attributeName = property_getAttributes(prop);
// NSLog(@"%@",[NSString stringWithUTF8String:propertyName]);
// NSLog(@"%@",[NSString stringWithUTF8String:attributeName]);
id value = [entity performSelector:NSSelectorFromString([NSString stringWithUTF8String:propertyName])];
if(value ==nil)
[valueArray addObject:[NSNull null]];
else {
[valueArray addObject:value];
}
// NSLog(@"%@",value);
}
free(properties);
NSDictionary* returnDic = [NSDictionary dictionaryWithObjects:valueArray forKeys:propertyArray];
NSLog(@"%@", returnDic);
return returnDic;
}
标签:model转字典
原文地址:http://5828666.blog.51cto.com/5818666/1669522