1.新建一个终端工程。
2.新建一个类,命名为Geek,将.m文件删除。
3.新建一个类,命名为Hack,将.h文件删除,将.m文件改为:
@implementation Hack : NSObject
- (void)hacking {
NSLog(@"Hacking");
}
@end
4.在main.m文件中,通过Runtime创建Hack类,并调用其中的hacking方法,代码如下:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
Class geekClass = NSClassFromString(@"Geek");
Class hackClass = NSClassFromString(@"Hack");
if (geekClass) {
NSLog(@"Geek");
}
if (hackClass) {
NSLog(@"Hack");
}
id hacker = [hackClass performSelector:NSSelectorFromString(@"new")];
[hacker performSelector:NSSelectorFromString(@"hacking")];
}
return 0;
}
5.运行,输出结果如下:
2014-06-11 20:57:40.461 RuntimePlayer[5112:303] Hack
2014-06-11 20:57:40.463 RuntimePlayer[5112:303] Hacking