iOS-获取当前View所在的控制器

用一个分类,具体: 
.h


#import <UIKit/UIKit.h>

@interface UIView (CurrentController)

/** 获取当前View的控制器对象 */
-(UIViewController *)getCurrentViewController;

@end

.m

#import "UIView+CurrentController.h"

@implementation UIView (CurrentController)

/** 获取当前View的控制器对象 */
-(UIViewController *)getCurrentViewController{
    UIResponder *next = [self nextResponder];
    do {
        if ([next isKindOfClass:[UIViewController class]]) {
            return (UIViewController *)next;
        }
        next = [next nextResponder];
    } while (next != nil); 
    return nil;
}

@end


应用 :

在cell中拿到 控制器 然后 可以直接在 cell中 将 下一个控制器 直接 push。 这个的巧妙利用可以很方便的对view进行封装。

 

 
 
 
原文地址:https://www.cnblogs.com/isItOk/p/8108946.html