使用响应者链条获取导航控制器

OC版本:
/// 获取导航控制器
- (UIViewController *)getNavigationController {
    UIResponder *next = [self nextResponder];
    while (next != nil) {
        if ([next isKindOfClass:[UINavigationController class]]) {
            return (UINavigationController *)next;
        }
        next = [next nextResponder];
    }
    return nil;
}
Swift版本:
// 遍历视图的响应者链条,获取导航视图控制器
    func navViewController()->UINavigationController? {
        // 遍历视图的响应者链条
        // 获取视图的下一个响应者
        var next = nextResponder()
        while next != nil {
            if let nextObj = next as? UINavigationController {
                return nextObj
            }

            // 获取下一个响应者的下一个响应者
            next = next?.nextResponder()
        }

        return nil
    }

你可能感兴趣的:(使用响应者链条获取导航控制器)