기 존 항목 의 인터페이스 에 대응 하 는 컨트롤 러 를 어떻게 봅 니까?

원문http://www.jianshu.com/p/78efcc9575b7
Runtime 을 이용 하여 UIViewController 에 분 류 를 추가 하고 재 작성 load 방법 을 실현 합 니 다. load 방법 에서 viewWillAppear: 과 기 존 방법 (자체 실현), 예 를 들 어 logViewWillAppear: 을 교환 합 니 다.
+ (void) load {
        
        #ifdef DEBUG
        
        //   viewWillAppear  
        Method viewWillAppear = class_getInstanceMethod(self, @selector(viewWillAppear:));
        
        //             viewWillAppear
        Method logViewWillAppear = class_getInstanceMethod(self, @selector(logViewWillAppear:));
        
        //       
        method_exchangeImplementations(viewWillAppear, logViewWillAppear);
        
        #endif
    }
- (void)logViewWillAppear:(BOOL)animated {
        
        NSString *className = NSStringFromClass([self class]);
        
        //   ,         ,    viewController    ,       
        if ([className hasPrefix:@"UI"] == NO) {
            NSLog(@"%@ will appear",className);
        }
        
        //       ,     viewWillAppear
        [self logViewWillAppear:animated];
    }

좋은 웹페이지 즐겨찾기