1、下面的代码就是怎样获取私有变量(记得加头文件#import <objc/runtime.h>):
- NSObject *str;
- Mobj *obj = [[Mobj alloc] init];
- object_getInstanceVariable(obj, "mt_", (void *)&str);
- NSLog(@"%@",str);
- [obj release];
2、下面的代码就是怎样获取私有方法(记得加头文件#import <objc/runtime.h>)
OBJC_EXPORTMethod class_getInstanceMethod(Class cls,
SEL name) 获取实例化方法的指针
OBJC_EXPORTMethod class_getClassMethod(Class cls,
SEL name) 获取类方法的指针
OBJC_EXPORTIMP class_getMethodImplementation(Class cls,
SEL name) 获取方法的实现部分
OBJC_EXPORT
BOOL class_respondsToSelector(Class cls,
SEL sel) 是否响应该方法
OBJC_EXPORT
Method *class_copyMethodList(Class cls,
unsigned int *outCount) 获取方法列表和数目
OBJC_EXPORT
BOOL class_conformsToProtocol(Class cls, Protocol *protocol) 是否遵循某协议
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-08-05 07:53:18