我试图弄清楚如何在Xcode 7(iOS9)的Swift中解决此问题,并且我也遇到此错误:



任何建议表示赞赏。谢谢。

我的代码:

func indexPositionForCurrentPage(pageViewController: UIPageViewController) -> Int {

    let currentViewController = pageViewController.viewControllers[0] as UIViewController

    for (index, page) in pages.enumerate() {
        if (currentViewController == page) {

            return index
        }
    }

    return -1
}

最佳答案

尝试:

let currentViewController = pageViewController.viewControllers![0]

但是,写这样会更安全:
if let currentViewController = pageViewController.viewControllers?[0] {
    // ... and then do everything else in the if-block
end

另一种选择:
guard let currentViewController = pageViewController.viewControllers?[0] else {
    return
}
// ... and then just proceed to use currentViewController here

这具有安全性的优点,但是无需将函数的其余部分放在if块中。

10-08 06:03