iOS获取视图控制器实例的方法

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

获取视图控制器实例,可以使用其公开的成员变量的值,而不是重新开辟一块内存,与原先的实例并不只想一块内存区域

实例方法

- (RootViewController *)<span style="font-family: Arial, Helvetica, sans-serif;">rootViewController</span>

{
    UIResponder *next = self.nextResponder;
    do {
        if ([next isKindOfClass:[RootViewController class]]) {
            return (RootViewController *)next;
        }
        next = next.nextResponder;
    } while (next != nil);
    return nil;
}
类方法
+ (RootViewController *)<span style="font-family: Arial, Helvetica, sans-serif;">rootV</span><span style="font-family: Arial, Helvetica, sans-serif;">iewControllerWithView:(UIView *)view</span>
{
    UIResponder *next = view.nextResponder;
    do {
        if ([next isKindOfClass:[RootViewController class]]) {
            return (RootViewController *)next;
        }
        next = next.nextResponder;
    } while (next != nil);
    return nil;
}

我个人感觉,类方法用的更好一些,他只用写在你需要的得到的实例的类中调用即可,VIew呢一般就是你的当前视图,而且只用写一次,在一定程度上减少了demo量