/**
* 返回对象中属性的类型
* @return NSString 返回属性的类型
**/
+ (NSString*)checkPropertyName:(id) obj propertyName:(NSString *)name {
NSString* propertyType;
unsigned int propertyCount;
objc_property_t* properties = class_copyPropertyList([obj class], &propertyCount);
for(int i=0;i<propertyCount;i++){
objc_property_t property = properties[i];
//属性名称
const char* propertyName = property_getName(property);
NSString* propertyNameStr = [NSString stringWithUTF8String:propertyName];
//属性对应的类型名字
char* typeEncoding = property_copyAttributeValue(property,"T");
NSString* typeEncodingStr = [NSString stringWithUTF8String:typeEncoding];
typeEncodingStr = [typeEncodingStr stringByReplacingOccurrencesOfString:@"@" withString:@""];
typeEncodingStr = [typeEncodingStr stringByReplacingOccurrencesOfString:@"\\" withString:@""];
if ([name isEqualToString:propertyNameStr]) {
propertyType = typeEncodingStr;
break;
}
}
free(properties);
return propertyType;
}
ios 获取对象中属性的类型
原创mb63e0703549da8 博主文章分类:mac/IOS ©著作权
文章标签 ci i++ 文章分类 JavaScript 前端开发
©著作权归作者所有:来自51CTO博客作者mb63e0703549da8的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java 根据HttpEntity 中contenttype获取文件类型
java 根据HttpEntity 中contenttype获取文件类型
apache HTTP Apache -
【java】java获取对象属性类型、属性名称、属性值
java获取对象属性类型、属性名称、属性值 获取属性 修饰符:【在Field[]循环中使用】
属性值 i++ 取对象 edn 对象数组