Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift TransitionStyle更改为时应用程序崩溃。滚动_Swift_Uipageviewcontroller - Fatal编程技术网

Swift TransitionStyle更改为时应用程序崩溃。滚动

Swift TransitionStyle更改为时应用程序崩溃。滚动,swift,uipageviewcontroller,Swift,Uipageviewcontroller,我正在尝试将PageViewController的转换样式从.PageCurl更改为.Scroll。该应用程序目前在.PageCurl上运行良好,但在运行时设置为.Scroll时,当您尝试从MenuViewController向右滑动时会崩溃 在设置transitionStyle的RootViewController.swift中: 我得到的错误是0 swift\u dynamicclasses。错误指向的断点位于ModelController.swift中: 根据Xcode,错误的具体行是 v

我正在尝试将PageViewController的转换样式从.PageCurl更改为.Scroll。该应用程序目前在.PageCurl上运行良好,但在运行时设置为.Scroll时,当您尝试从MenuViewController向右滑动时会崩溃

在设置transitionStyle的RootViewController.swift中:

我得到的错误是0 swift\u dynamicclasses。错误指向的断点位于ModelController.swift中:

根据Xcode,错误的具体行是

var index = self.indexOfViewController(viewController as DataViewController)

是否需要对订单使用进行其他更改。滚动?

viewController可能不是DataViewController,甚至可能为零。您最初在哪里设置UIPageViewController的viewController?是的,您应该在viewController中打印并确认它是什么。我在这里没有看到任何独特的。滚动。index=experiments.count-1,后跟index-似乎很奇怪,您真的想将其设置为experiments.count-2吗?但似乎没有。与滚动相关。Matthias,我使用viewControllerAtIndex函数设置了viewController。如果self.experiments.count==0 | | index>=self.experiments.count{return nil}让dataViewController=storyboard.InstanceEviewController将dataViewController标识为dataViewController dataViewController.experiment=self.experiments[index]为?NSDictionary return dataViewControllerRob,index=experiments.count-1用于将索引设置为数组的开头,以便它循环返回并重新开始。刚意识到这是不必要的,就把它拿走了。仍然崩溃。如何访问当前的viewController以便打印它?@MatthiasBauch和Rob,另一个数据点:该应用程序是Xcode基于页面的应用程序模板的一个轻度定制版本。当我第一次开始使用它时,我能够很容易地在.Scroll和.PageView之间切换,但在某个时候我引入了这个问题。
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {

    if fromMenu == true {
        var index = self.indexOfViewController(viewController as DataViewController)
        if (index == NSNotFound) {
            return nil
        }
        if (index == 0) {
            index = experiments.count - 1
        }

        index--
        return self.viewControllerAtIndex(index, storyboard: viewController.storyboard!)
    } else {
        println("fromMenu is \(fromMenu)")
        fromMenu = true
        return self.viewControllerAtIndex(0, storyboard: viewController.storyboard!)
    }
}
var index = self.indexOfViewController(viewController as DataViewController)