美文网首页
iOS 查询一个类的所有成员变量和私有函数

iOS 查询一个类的所有成员变量和私有函数

作者: 有草木青青 | 来源:发表于2017-01-11 17:24 被阅读141次

iOS运行时获取对象的成员变量和成员方法

  1. 首先导入runtime 头文件 #import<objc/runtime.h>

2.获取某个类的成员变量或则属性

 unsigned int numIvars;//成员变量个数

 Ivar *vars = class_copyIvarList(NSClassFromString(@"UIView"), &numIvars);

//Ivar *vars = class_copyIvarList([UIView class], &numIvars);

 NSString*key = nil;

 for(int i =0; i < numIvars; i++) {

   Ivar thisIvar = vars[i];

   key = [NSString stringWithUTF8String:ivar_getName(thisIvar)];//获取成员变量的名字

   NSLog(@"variable name :%@", key);

   key = [NSString stringWithUTF8String:ivar_getTypeEncoding(thisIvar)];//获取成员变量的数据类型

   NSLog(@"variable type :%@", key);
 }
 free(vars);

3.获取成员函数

Method*meth =class_copyMethodList(NSClassFromString(@"UIView"), &numIvars);

//Method *meth = class_copyMethodList([UIView class], &numIvars);

   for(int i =0; i < numIvars; i++) {

     Method thisIvar = meth[i];

     SEL sel =method_getName(thisIvar);

     const char *name =sel_getName(self);

     NSLog(@"zp method :%s", name);

   }

   free(meth);

相关文章

  • C++学习第2课,笔记

    1 类 成员变量 成员函数 private://私有的 public://公有的 *1 公有函数修改私有变量; *...

  • objc_runtime

    获取某个类的成员变量; 获取成员函数 UISearchBar的私有变量

  • iOS 查询一个类的所有成员变量和私有函数

    iOS运行时获取对象的成员变量和成员方法 首先导入runtime 头文件 #import

  • 1、类的定义 类的成员出现顺序:公共静态常量、私有静态变量、私有实体变量,然后才是公共函数,私有的工具函数紧随在该...

  • Day8 - private与this

    面向对象:继承、封装、多态 private: 私有权限修饰符,用于修饰类中的成员(成员变量、成员 函数);私有只在...

  • JS—私有变量

    私有变量js中没有私有成员的概念,所有对象属性都是公有的,但是却是有私有变量的概念。任何函数中定义的变量都是私有变...

  • 友元(friends)

    定义:类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽...

  • C++ 友元函数

    类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元...

  • 友元函数

    类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元...

  • iOS 局部变量,全局变量,static,const,exter

    ios中的成员变量和属性 定义一个Person类,在类里面分别定义了一个成员变量_sex和属性name。 成员变量...

网友评论

      本文标题:iOS 查询一个类的所有成员变量和私有函数

      本文链接:https://www.haomeiwen.com/subject/tfurbttx.html