您的位置:首页 > 其它

model转字典

2015-06-30 19:28 309 查看
+ (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转字典