在ios中如何将观察者添加到方法中?

时间:2016-03-21 03:35:33

标签: ios addobserver

我使用插件,有一种方法" A"在插件的pluginClass中。 如果" A"被叫,我想打电话给" B"在myCalss中。例如:

-(void)A{
  [myClass B];
}

但我不想修改pluginClass中的代码。 有没有办法向方法或类似物添加观察者? 谢谢你。

2 个答案:

答案 0 :(得分:0)

我能想到的唯一可接受的选择是从插件中继承类,然后在子类中通过目标方法继承它并转发它:

@implementation MyPluginClass : PluginClass

-(void) A {
    [super A];
    [myClass B];
}

@end

答案 1 :(得分:0)

似乎很容易解决。创建自己的包含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];
}