獲取視圖控制器實例,可以使用其公開的成員變量的值,而不是重新開辟一塊內存,與原先的實例並不隻想一塊內存區域
實例方法
- (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量