2016-08-11 3 views
-2

Ich möchte auf ein Kind namens SubscriptionsViewController (3. Registerkarte) zugreifenWie kann ich in TabBarViewController direkt auf meine Kinder zugreifen?

Dies ist, was ich tue, aber es funktioniert nicht.

var subscriptionsViewController: SubscriptionsViewController? { 
    get { 
     let viewControllers = self.childViewControllers 
     for viewController in viewControllers { 
      if let vc = viewController as? SubscriptionsViewController { 
       return vc 
      } 
     } 
     return nil 
    } 
} 
+0

Nach Zugriff bedeutet, dass Sie diesen View Controller anzeigen möchten? –

+0

Nein, ich möchte diesen Controller in meinem Code verwenden ... und Methoden dieses View-Controllers aufrufen – TIMEX

+0

Dann sollten Sie NSNotificationCenter oder Delegates verwenden, je nach Ihren Anforderungen. –

Antwort

0

Angenommen, Sie eine Instanz von Tab-Leiste Controller haben, können Sie es wie folgt tun:

var subscriptionsViewController: SubscriptionsViewController? { 
get { 
    let viewControllers = tabController.viewControllers //assuming you have a property tabBarController 
    for viewController in viewControllers { 
     if viewController is SubscriptionsViewController { 
      return vc 
     } 
    } 
    return nil 
} 
} 
0

Sie ein Kind von der Tab-Leiste Controller mit dem folgenden zugreifen:

self.tabBarController.viewControllers[2] 
Verwandte Themen