給UIViewController添加一個(gè)分類,實(shí)現(xiàn)這個(gè)分類
例如,命名為UIViewController+UMengAnalytics
#import "UIViewController+UMengAnalytics.h"
#import <UMMobClick/MobClick.h>
@implementation UIViewController (UMengAnalytics)
+ (void)load {
// 系統(tǒng)原本的viewWillApper方法
Method viewWillAppear = class_getInstanceMethod(self, @selector(viewWillAppear:));
// 需要替換成能夠輸入日志的viewWillAppear
Method qy_viewWillAppear = class_getInstanceMethod(self, @selector(qy_viewWillAppear:));
// 原本的viewWillDisappear方法
Method viewWillDisappear = class_getInstanceMethod(self, @selector(viewWillDisappear:));
//需要替換成能夠輸入日志的viewWillDisappear
Method qy_viewWillDisappear = class_getInstanceMethod(self, @selector(qy_viewWillDisappear:));
// 兩方法進(jìn)行交換
method_exchangeImplementations(viewWillAppear, qy_viewWillAppear);
method_exchangeImplementations(viewWillDisappear, qy_viewWillDisappear);
}
- (void)qy_viewWillAppear:(BOOL)animated {
//
[self qy_viewWillAppear:animated];
//
NSString *selfClass = NSStringFromClass([self class]);
//
[MobClick beginLogPageView:selfClass];
}
- (void)qy_viewWillDisappear:(BOOL)animated {
//
[self qy_viewWillDisappear:animated];
//
NSString *selfClass = NSStringFromClass([self class]);
//
[MobClick endLogPageView:selfClass];
}
@end