反正有没有监视特殊对象的方法调用并得到通知?我想在调用[object someMethod]时调用函数"Observer".我知道我可以使用Objective c KVO监视对象的值变化,但它并没有告诉我调用堆栈(哪些函数)导致对象的值发生变化.有什么类似于KVO,但对于方法,我可以监视函数调用?如果现有框架无法实现这一功能,有关如何实现此功能的任何建议吗?谢谢!
如果我在这样的随机类中有一个调用:
@implementation SomeClass
- (void) classMethodFoo
{
int a = [SomeSingleton sharedInstance].aValue;
}
@end
Run Code Online (Sandbox Code Playgroud)
在里面SomeSingleton sharedInstance,有没有办法获得对调用此方法的对象的引用(当然没有调用传递self作为参数)?
据我所知,Objective C是一种比C#或Java更动态的语言.在C#中,您只能知道调用者对象的类(使用stacktrace),而不知道调用者本身的实例引用.
Objective C对此更有能力吗?
更新:我在这里查看了另一篇文章如何在Objective-C中确定我的方法的"调用者"?.据我所知,它只给出了类名.我坚持认为我只对类名不感兴趣,而是通过获取调用者实例本身的引用.