利用runtime 簡(jiǎn)化友盟統(tǒng)計(jì)代碼

給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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,305評(píng)論 4 61
  • 早上航班延誤177分鐘,剛好沒有用自己的卡訂票,沒有獲得持卡銀行賠付延誤補(bǔ)償。冥冥之中似乎早有安排,前面我一直用自...
    灰灰2017閱讀 634評(píng)論 0 0
  • 2016.1.10 今天是禮拜天,還有三天就可以放寒假了。但是我雙休日沒有復(fù)習(xí),所以我現(xiàn)在要復(fù)習(xí)到好晚,很難過,眼...
    萬事屋門前的陵游閱讀 417評(píng)論 1 1
  • 1:下載solr的安裝包,目前最新版本是6.6.0 要求jdk1.8+ 百度網(wǎng)盤 2: 解壓 tar -zxvf ...
    哈德絲閱讀 472評(píng)論 0 1

友情鏈接更多精彩內(nèi)容