我的UIPageViewController根本不工作。我要做的是在UIPageViewController中切换2个视图控制器。我已经遵循指南,但失败了。 Using UIPageViewController with swift and multiple view controllers。第一个视图控制器似乎成功,但当我尝试滑动到第二个视图控制器时,它会抛出此错误消息。我已经正确设置了所有标识符。
fatal error: unexpectedly found nil while unwrapping an Optional value
这是因为这里的原因
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
let identifier = viewController.restorationIdentifier
let index = self.identifiers.indexOfObject(identifier!) // error message here
//if the index is 0, return nil since we dont want a view controller before the first one
if index == 0 {
return nil
}
//decrement the index to get the viewController before the current one
self.index = self.index - 1
return self.viewControllerAtIndex(self.index)
}
Main.storyboard
源代码:https://github.com/datomnurdin/RevivalxSwiftPageViewController
请指教。谢谢。
答案 0 :(得分:3)
尝试访问视图控制器的 restorationIdentifier 时发生崩溃。你使用!
打开它,但它没有;作为第一个解决方案,在故事板中设置 restorationIdentifier 。
一般情况下,如果您确定它不是nil(通过在之前添加if语句),请使用
!
来展开值 。