test *Test = [[test alloc]init];
// //方式一
// void(*setSkinColor_Func) (id, SEL, NSString*);
// setSkinColor_Func=(void (*)(id, SEL, NSString*)) [Test methodForSelector:NSSelectorFromString(@"test:")];
// setSkinColor_Func(Test,NSSelectorFromString(@"test:"),@"verbose");
//方式二 该方式只限于在非ARC下使用,否则在运行时回中断
// IMP imp = [Test methodForSelector:@selector(test2:)];
// imp(Test,@selector(test:),@"asf");
//方式三
IMP imp = [Test methodForSelector:@selector(test:)];
void (*func)(__strong id,SEL,...) = (void (*)(__strong id, SEL, ...))imp;
func( Test, @selector(test:),@"afjsdl");
IMP 使用
最新推荐文章于 2024-01-17 15:15:00 发布