Уведомление о вызове метода объекта - PullRequest
1 голос
/ 18 декабря 2011

Есть ли способ в target-c выяснить, был ли вызван метод объекта, скажем, что-то похожее на KVO?

У меня есть код отслеживания, который всегда должен идти внутри viewDidAppear и viewDidDissapear. Я хотел бы получить уведомление, когда любой из этих методов был вызван, чтобы я мог либо начать отслеживать, либо прекратить отслеживание объекта вне этих двух методов.

Вы могли бы, вероятно, сказать, зачем мне это нужно, если бы я мог просто вызвать свой код отслеживания в этих двух методах ... Что ж, я хочу взять эту хешу у пользователей и автоматизировать процесс отслеживания.

EDIT

Вот что сейчас происходит:

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

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

Вот что я хотел бы сделать:

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

Объект tracker будет прослушивать вызовы методов своих родителей ViewDidAppear и viewDidDisappear, поэтому при их срабатывании он будет вызывать запуск или остановку отслеживания.

1 Ответ

1 голос
/ 18 декабря 2011

Google для "Метод Swizzling". Понять это полностью. Это должно помочь вам решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...