微点滴:获取当前View的控制器对象(获取当前控制器)

开发过程中, 我们往往需要获取当前控制器对象, 但是,一般情况下, 我们都是获取的都是当前的self, 而如果我们是父子控制器的一个子控制器view要获取器控制器对象呢? 那么用获取当前self的方法,就往往不合适了, 这个时候, 我们可以使用下面的方法来获取:

===>>>获取当前View的控制器对象(获取当前控制器)

用一个分类,
具体:

.h

#import

@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

ok, 👌开发的时候, 直接将这个分类拖到项目中, 调用这个方法即可;

推荐阅读更多精彩内容