开发过程中, 我们往往需要获取当前控制器对象, 但是,一般情况下, 我们都是获取的都是当前的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, 👌开发的时候, 直接将这个分类拖到项目中, 调用这个方法即可;