时返回的就是这个Class的类名, 调用[super method];时就是子类去调用父类中的这个方法(注意是子类调用, 而不是父类, 只是从父类中取得方法地址而已)
这部分可能有些人会有一点疑惑, 我们讲下...这对于对象的序列化非常有用,它可是让我们识别出不同类定义版本中实例变量布局的改变。...*name)
设置对象指定成员变量的值: (设置obj对象的ivar成员属性的值为value)
void object_setIvar(id obj, Ivar ivar, id value)
或者对象指定成员变量的值...:
id object_getIvar(id obj, Ivar ivar)
这3个函数合起来可以读取和修改成员变量(不能获取@property修饰的属性变量),
举例:
我们有一个ClassA, 在类中添加一个私有成员属性...描述:
SEL method_getName(Method m)
从SEL获取方法名:(这个方法不是runtime库中的, 而是objc.h中的, 可以直接调用)
const char *sel_getName