iOS获取对象属性列表
来源:互联网 发布:淘宝哪些北美代购正品 编辑:程序博客网 时间:2024/06/10 03:51
#import "A.h"#import <objc/runtime.h>@implementation A//获取对象的所有属性,不包括属性值-(NSArray *)getAllProperty{ u_int count; objc_property_t *properties = class_copyPropertyList([self class], &count); NSMutableArray *propertiesArray = [NSMutableArray arrayWithCapacity:count]; for (int i = 0; i < count; i++) { const char *propertyName = property_getName(properties[i]); [propertiesArray addObject:[NSString stringWithUTF8String:propertyName]]; } free(properties); return propertiesArray;}
//获取对象的所有属性,包括属性值-(NSDictionary *)propertiesAndValue{ NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; unsigned int count; objc_property_t *properties = class_copyPropertyList([self class], &count); for (int i = 0; i <count; i++) { const char *char_f = property_getName(properties[i]); NSString *propertyName = [NSString stringWithUTF8String:char_f]; id propertyValue = [self valueForKey:(NSString*)propertyName]; if (propertyValue) { [dictionary setObject:propertyValue forKey:propertyName]; } } free(properties); return dictionary;}
//获取对象的所有方法-(void)printMothodList{ unsigned int mothedCount_f = 0; Method *mothedList_f = class_copyMethodList([self class], &mothedCount_f); for (int i = 0; i < mothedCount_f; i++) { Method temp_f = mothedList_f[i]; IMP imp_f = method_getImplementation(temp_f); SEL name_f = method_getName(temp_f); const char *name_s = sel_getName(method_getName(temp_f)); int arguments = method_getNumberOfArguments(temp_f); const char *encoding = method_getTypeEncoding(temp_f); NSLog(@"方法名:%@, 参数个数:%d ,编码方式:%@",[NSString stringWithUTF8String:name_s],arguments,[NSString stringWithUTF8String:encoding]); } free(mothedList_f);}@end
0 0
- iOS获取对象属性列表
- 获取对象的属性列表
- runtime获取对象属性及方法列表
- iOS 反射获取 类属性列表
- iOS 反射获取 类属性列表
- iOS获取类的属性列表
- 获取PDH性能对象列表之三-------------获取性能对象的属性列表以及实例列表
- iOS - Runtime 获取属性列表 方法列表 成员变量列表 协议列表
- 获取对象的类名,属性及方法列表
- Swift3.0 运行时获取对象属性列表
- ios 通过runtime 获取属性列表并修改变量值
- 获取对象的属性名、属性值、属性特性,协议列表
- 获取属性列表
- 对象归档/属性列表
- IOS之【属性列表】
- iOS属性列表
- 【读书笔记】iOS-属性列表
- createSQLQuery获取对象列表
- iOS导航栏透明
- [Drools] JAVA规则引擎
- 菜鸟学习之路(一)
- activity之间的传值与回传
- vim 程序编辑器
- iOS获取对象属性列表
- 写个android代码封装jar包然后代码混淆的笔记
- Android px,dp,pt,sp的区别
- 大数据学习之Scala中数据类型(3)
- Python-OpenCV 处理图像(二):滤镜和图像运算
- 命令行的艺术
- iOS LaunchImage图片尺寸
- idea 下java project 手动加载配置文件 file not found 问题
- Python-OpenCV 处理图像(三):图像像素点操作