我正在使用一个插件,插件的pluginClass中有一个方法“A”。如果调用“A”,我想在 myCalss 中调用“B”。如:
-(void)A{
[myClass B];
}
但是我不想修改pluginClass中的代码。有没有办法将观察者添加到方法或类似方法中?感谢你。
我正在使用一个插件,插件的pluginClass中有一个方法“A”。如果调用“A”,我想在 myCalss 中调用“B”。如:
-(void)A{
[myClass B];
}
但是我不想修改pluginClass中的代码。有没有办法将观察者添加到方法或类似方法中?感谢你。
我能想到的唯一可接受的选择是从插件中子类化该类,然后在您的子类中通过目标方法并转发它:
@implementation MyPluginClass : PluginClass
-(void) A {
[super A];
[myClass B];
}
@end
似乎很容易解决。创建自己的包含 A 函数的方法 C 并在 C 中添加方法 B。而不是调用 A,然后调用 C。
// BEFORE
[pluginClass A]; // a call to method A that u use originally.
// AFTER
[self C];
-(void)C {
[pluginClass A];
[myClass B];
}