Swift - 使用UIPageViewController在多个视图控制器之间滑动

时间:2015-02-26 03:45:23

标签: ios swift xcode6 uipageviewcontroller

我的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

enter image description here

源代码:https://github.com/datomnurdin/RevivalxSwiftPageViewController

请指教。谢谢。

1 个答案:

答案 0 :(得分:3)

尝试访问视图控制器的 restorationIdentifier 时发生崩溃。你使用!打开它,但它没有;作为第一个解决方案,在故事板中设置 restorationIdentifier

enter image description here

  

一般情况下,如果您确定它不是nil(通过在之前添加if语句),请使用!来展开值