Невозможно привести между UIViewControllers
Я пытаюсь использовать сегментированный элемент управления для переключения между двумя контроллерами представления. Вот код для profileContainerViewController, который управляет коммутатором:
class profileContainerViewController: UIViewController {
@IBOutlet weak var segmentedControl: UISegmentedControl!
let viewControllerIdentifiers = ["first", "second"]
@IBAction func valueChanged(sender: AnyObject) {
var newController = storyboard?.instantiateViewControllerWithIdentifier(viewControllerIdentifiers[sender.selectedSegmentIndex]) as! UIViewController
let oldController = childViewControllers.last as! UIViewController
oldController.willMoveToParentViewController(nil)
addChildViewController(newController)
newController.view.frame = oldController.view.frame
transitionFromViewController(oldController, toViewController: newController, duration: 0.25, options: .TransitionCrossDissolve, animations:{ () -> Void in
// nothing needed here
}, completion: { (finished) -> Void in
oldController.removeFromParentViewController()
newController.didMoveToParentViewController(self)
})
}
}
У меня также есть UIContainerView со встроенным первым View Controller:
Однако, когда я загружаю представление, я получаю эту ошибку:
"Could not cast value of type 'profileContainerViewController' (0x107917830) to 'userProfileViewController' (0x107917620)."
(userProfileViewController является первым ViewController, который должен быть загружен.)