2016-08-11 3 views
-2

SubscriptionsViewController(3番目のタブ)という子にアクセスしたいTabBarViewControllerでは、子供に直接アクセスするにはどうしたらいいですか?

これは私がやっていることですが、動作しません。

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

アクセスすると、そのView Controllerが表示されますか? –

+0

いいえ、私のコードでそのコントローラを使用したいと思います...そして、そのビューコントローラのメソッドを呼び出す – TIMEX

+0

あなたの要件に応じてNSNotificationCenterまたは代理人を使用してみる必要があります。 –

答えて

0

あなたがタブバーコントローラのインスタンスを持っていると仮定すると、以下のように、あなたがそれを行うことができます。

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

あなたは以下を使用してタブバーコントローラの子にアクセスすることができます。

self.tabBarController.viewControllers[2] 
関連する問題