iOS獲取視圖控制器實例的方法

fwcm 9年前發布 | 1K 次閱讀 Objective-C 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; }</pre>

類方法

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



 本文由用戶 fwcm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!