iOS:獲取視圖控制器實例的方法 – iPhone手機開發技術文章 iPhone軟體開發教學課程

獲取視圖控制器實例,可以使用其公開的成員變量的值,而不是重新開辟一塊內存,與原先的實例並不隻想一塊內存區域

實例方法

- (RootViewController *)rootViewController

{
    UIResponder *next = self.nextResponder;
    do {
        if ([next isKindOfClass:[RootViewController class]]) {
            return (RootViewController *)next;
        }
        next = next.nextResponder;
    } while (next != nil);
    return nil;
}

類方法

+ (RootViewController *)rootViewControllerWithView:(UIView *)view
{
    UIResponder *next = view.nextResponder;
    do {
        if ([next isKindOfClass:[RootViewController class]]) {
            return (RootViewController *)next;
        }
        next = next.nextResponder;
    } while (next != nil);
    return nil;
}

我個人感覺,類方法用的更好一些,他隻用寫在你需要的得到的實例的類中調用即可,VIew呢一般就是你的當前視圖,而且隻用寫一次,在一定程度上減少瞭demo量

發佈留言