在Objective C中,可以使用Runtime机制实现动态添加方法。下面是一些示例代码,仅供参考:
// 定义一个动态添加的方法
- (void)myDynamicMethod:(NSString *)str { NSLog(@"调用了动态添加的方法,参数为:%@", str);
}
// 在运行时动态地添加方法 Class MyClass = objc_allocateClassPair([NSObject class], "MyClass", 0); class_addMethod(MyClass, @selector(myDynamicMethod:), (IMP)myDynamicMethodIMP, "v@:@"); objc_registerClassPair(MyClass);
// 在运行时调用动态添加的方法 id instance = [[MyClass alloc] init]; [instance performSelector:@selector(myDynamicMethod:) withObject:@"Hello World!"];
需要注意的是,动态添加的方法必须使用IMP函数指针指定实现,而且必须指定参数和返回值的类型编码。另外,为了确保方法名的唯一性,建议在方法名前加上前缀。