2011-12-18 31 views
1

有没有一种方法在objective-c中查找对象的方法是否已被调用,通过让我们说类似于KVO?关于对象方法调用的通知

我有跟踪代码,总是需要去viewDidAppear和viewDidDissapear里面。 我希望在任何这些方法被调用时得到通知,以便我可以开始跟踪或停止跟踪这两种方法外的对象。

你或许可以说,为什么我需要它,如果我可以在这两种方法中调用我的跟踪代码......那么我想从用户手中获取这个无用信息并自动执行跟踪过程。

编辑

这是目前正在发生的事情:

- (void)viewDidAppear:(BOOL)animated{ 
    [self.view trackWithKey:@"Unique UI Element key"]; 
    //... 
} 

- (void)viewDidDisappear:(BOOL)animated{ 
    [self.view stopTracking]; 
    //... 
} 

这是我想要做什么:

-(void)viewDidLoad{ 
    [tracker.trackWithKey:@"xxxxxx"]; 
} 

tracker对象将在其父母听ViewDidAppearviewDidDisappear方法调用,所以当它们被触发时它会ei其他呼叫开始或停止跟踪。

+1

此问题缺少一些必要的信息;它不清楚[你在做什么](http://meta.stackexchange.com/questions/66377/)。你在开发一个图书馆吗?如果是这样,整体设计是什么?如果没有,那么你在说什么用户?与往常一样,[示例代码](http://sscce.org/)是国王。 – outis 2011-12-18 00:51:57

+0

请查看我在编辑的问题,我添加了一些代码来解释我在找什么。 – Cyprian 2011-12-18 08:07:58

+0

更新没有解决我的评论。这个问题仍然存在[XY问题](http://meta.stackexchange.com/questions/66377/)。 – outis 2011-12-28 04:48:47

回答

1

Google for“Method Swizzling”。完全理解它。这应该可以帮助你解决你的问题。