1、定义C函数:
void dynamicMethodIMP(id self, SEL _cmd)
{
NSLog(@"蜗牛也疯狂");
}
2、重写函数+(BOOL)resolveInstanceMethod:(SEL)sel
+(BOOL)resolveInstanceMethod:(SEL)sel
{
class_addMethod([self class], sel, (IMP)dynamicMethodIMP, "v@:");
return [super resolveInstanceMethod:sel];
}
3、使用:
SEL select = NSSelectorFromString(@"resolveThisMethodDynamically");
[class resolveInstanceMethod:select];
[[class instance] performSelector:select];
本文详细介绍了如何在C语言中使用Objective-C风格的方法调用机制,通过定义C函数、重写方法解决实例方法调用问题,并展示了具体实现过程。

4321

被折叠的 条评论
为什么被折叠?



