Я ищу, чтобы создать PageViewController очень похож на SnapChat, в котором вы можете прокручивать с UIImagePickerController на другой VC. Для этого у меня есть мой начальный VC, который отображает диспетчер imagepicker, и второй VC (заголовок VC), который я хочу получить после этого начального VC. Чтобы инкапсулировать мой PageViewController, я создал еще один класс VC (показано ниже), который я теперь установил как мой начальный VC, и я пытаюсь обрабатывать источник данных VVC.Почему я получаю эту ошибку после запуска моего PageViewController?
По какой-то причине он не работает, а ошибка - «фатальная ошибка: неожиданно обнаружена нуль при развертывании необязательного значения». Это потому, что вы не можете содержать imagePickerController в PageVC (сомнительно, как SnapChat). Я создал более простой шаблон, который прекрасно сочетал два простых VC: почему я не могу этого сделать здесь? Другой, который я сделал, я содержал все приведенные ниже коды в исходном VC, с которого начинается проект, тогда как здесь я создал дополнительный VC и вручную изменил его, чтобы сделать его «начальным контроллером представления».
NB. проект компилируется без использования pageVC, поэтому он не имеет ничего общего с каким-либо плохим кодом в других VC.
Я очень застрял и очень ценю некоторую помощь в этой сложной проблеме. Благодаря!
class PageViewController: UIViewController, UIPageViewControllerDataSource {
private var pageViewController: UIPageViewController?
private let VCarray = [ViewController(), CaptionViewController()]
override func viewDidLoad() {
super.viewDidLoad()
createPageViewController()
}
private func createPageViewController() {
let pageController = self.storyboard!.instantiateViewControllerWithIdentifier("PageController") as! UIPageViewController
pageController.dataSource = self
if VCarray.count > 0 {
pageController.setViewControllers([ViewController()], direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil)
}
pageViewController = pageController
addChildViewController(pageViewController!)
self.view.addSubview(pageViewController!.view)
pageViewController!.didMoveToParentViewController(self)
}
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
if viewController.isKindOfClass(CaptionViewController) {
let pvc = self.storyboard?.instantiateViewControllerWithIdentifier("CameraVC")
return pvc
}
return nil
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
if viewController.isKindOfClass(ViewController) {
let pvc = self.storyboard?.instantiateViewControllerWithIdentifier("CaptionVC")
return pvc
}
return nil
}
Какое сообщение об ошибке вы получаете? – Nick
досадно это: фатальная ошибка: неожиданно найден nil при разворачивании необязательного значения –
Это звучит как ошибка времени выполнения, а не ошибка компиляции. –