Runtime动态创建类
- (void)viewDidLoad {
[super viewDidLoad];
Class KSObj = objc_allocateClassPair([NSObject class], "KSStudent", 0);
class_addIvar(KSObj, "name", sizeof(NSString *), log2(sizeof(NSString *)), @encode(NSString *));
SEL sel = sel_registerName("other:");
Method method = class_getInstanceMethod([ViewController class], @selector(other:));
class_addMethod(KSObj, sel, method_getImplementation(method), method_getTypeEncoding(method));
objc_registerClassPair(KSObj);
//开始使用
id kkk = [KSObj new];
//给name赋值
[kkk setValue:@"jack"forKey:@"name"];
//获取name
Ivar iv = class_getInstanceVariable(KSObj, "name");
NSString* name =object_getIvar(kkk, iv);
NSLog(@"%@",name);
[kkk other:name];
}
-(void)other:(NSString*)name{
NSLog(@"%s ---- %@",__func__,name);
}