好的,希望我能儘可能清楚地解釋這一點。從一個特定的childViewControllers類調用方法
我有一個父ViewController有一個ContainerView,這將包含不同的viewControllers /類。我改變了這個容器的內容在運行時是這樣的:
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是firstVC
,這有點像
class firstVC {
func removeAnnotations() {
//something that removes annotation from MapVC
}
}
在某事件在父控制器上,我如何訪問firstVC的實例,以便能夠調用removeAnnotations?截至目前,我得到零,在父控制器firstVC.removeAnnotations
上使用此,可能這會調用該類的另一個實例。任何幫助將是偉大的!希望我的解釋有道理。謝謝!
這不是回答原來的問題。這顯示瞭如何添加子視圖控制器,但在原始問題中,兩個子視圖控制器之間的轉換已經完成,所需的是如何在轉換後訪問新的子視圖控制器。 –