获取某个类的私有成员属性 我们有时候想要获取属性的时候发现敲不出来,那是因为他的属性都是私有的我们针对这种情况可以使用KVC但是我们需要知道属性的名字,但是我们还不知道名字,就会使用到以下方法 oc runtime 机制 只能动态获取当前类的成员属性,不能获取其子类,或者父类的属性 __unsafe_unretained Class 要获取哪个类的成员属性 unsigned int *outCount 获取Class 下面的所有成员属性的个数 unsigned int outCount = 0; Ivar *ivar = class_copyIvarList([UIGestureRecognizer class] , &outCount); for(int i = 0;i<outCount;i++){ //获取成员属性的名字 NSString *name = @(ivar_getName(ivars[i])); NSLog(@"%@" , name); } ivar这是一个数组ivar_getName(ivars[i])这个返回回来的是C语言的名字,所以我们需要给他转换成OC语言(在他前面加上@并且用括号包围起来)