申し訳ありませんが、これを可能な限り明確に説明できることを願っています。特定のchildViewControllersクラスからの呼び出しメソッド
私はContainerViewを持つ親ViewControllerを持っていますが、これは異なるviewControllers/Classを含みます。私はこのように、実行時にこのコンテナの内容を変更しています:
let newController = (storyboard?.instantiateViewController(withIdentifier: classIdentifierFromStoryboard))! as UIViewController
let oldController = childViewControllers.last! as UIViewController
oldController.willMove(toParentViewController: nil)
addChildViewController(newController)
newController.view.frame = oldController.view.frame
transition(from: oldController, to: newController, duration: 0, options: .transitionCrossDissolve, animations:{() -> Void in
}, completion: { (finished) -> Void in
})
oldController.removeFromParentViewController()
newController.didMove(toParentViewController: self)
したがって、たとえば、UI上で示した電流コントローラはちょっと、特定のイベントで
class firstVC {
func removeAnnotations() {
//something that removes annotation from MapVC
}
}
のように見えるfirstVC
、あります親コントローラーで、firstVCのインスタンスにアクセスして、removeAnnotationsを呼び出せるようにするにはどうすればよいですか?今度は親コントローラfirstVC.removeAnnotations
でこれを使用していますが、これはクラスの別のインスタンスを呼び出すことが想定されています。どんな助けも素晴らしいだろう!私の説明が理にかなっているといいですね。ありがとう!
これは元の質問には答えていません。これは、子ビューコントローラを追加する方法を示していますが、元の質問では、2つの子ビューコントローラ間の移行は、移行後に新しい子ビューコントローラにアクセスする方法が必要でした。 –