hig*_*ech 6 uiviewcontroller ios swift
我试图弄清楚如何在Xcode 7(iOS9)上的Swift中解决这个问题,我也遇到了这个错误:
不能下标'[UIViewController]类型的值?' 索引类型为'Int'
任何建议表示赞赏.谢谢.

我的代码:
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
}
Run Code Online (Sandbox Code Playgroud)
尝试:
let currentViewController = pageViewController.viewControllers![0]
Run Code Online (Sandbox Code Playgroud)
但是,写一下会更安全:
if let currentViewController = pageViewController.viewControllers?[0] {
// ... and then do everything else in the if-block
end
Run Code Online (Sandbox Code Playgroud)
另一种选择:
guard let currentViewController = pageViewController.viewControllers?[0] else {
return
}
// ... and then just proceed to use currentViewController here
Run Code Online (Sandbox Code Playgroud)
这样做的好处是它安全,但不需要将函数的其余部分放在一个if块中.
| 归档时间: |
|
| 查看次数: |
7006 次 |
| 最近记录: |