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

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

实例方法

- (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量



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。