iOS在自定义视图(常用于自定义cell)中获取导航控制器上面的当前的控制器对象

在iOS开发中,很多时候,我们在自定义视图时,往往需要拿到本视图所在的当前的控制器对象,有很多同学都特别苦恼,那么今天我就来讲一讲如何获取这个控制器对象:

这里我们用到一个事件响应者链,直接上代码吧:

- (UIViewController *)viewController {
    UIResponder *next = self.nextResponder;
    do {
        //判断响应者是否为视图控制器
        if ([next isKindOfClass:[UIViewController class]]) {
            return (UIViewController *)next;
        }
        next = next.nextResponder;
    } while (next != nil);
    
    return nil;
}


你可能感兴趣的:(iOS在自定义视图(常用于自定义cell)中获取导航控制器上面的当前的控制器对象)