【发布时间】:2015-12-18 16:24:53
【问题描述】:
我在下面的代码中有 2 个错误,原因相同。我该如何解决这个问题?
错误在最后两个函数的两行 return viewControllerAtIndex(index) 上都显示“运算符后的预期表达式”。
func viewControllerAtIndex(index: Int) -> WalkthroughContentViewController? {
if index == NSNotFound || index < 0 || index >= pageHeadings.count {
return nil
}
// Creating a new view controller and passing the data
if let pageContentViewController = storyboard?.instantiateViewControllerWithIdentifier("WalkthroughContentViewController") as? WalkthroughContentViewController {
pageContentViewController.imageFile = pageImages[index]
pageContentViewController.heading = pageHeadings[index]
pageContentViewController.content = pageContent[index]
pageContentViewController.index = index
return pageContentViewController
}
return nil
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
var index = (viewController as! WalkthroughContentViewController).index
index ++
return viewControllerAtIndex(index)
}
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
var index = (viewController as! WalkthroughContentViewController).index
index --
return viewControllerAtIndex(index)
}
这是来自 Simon Ng 的 Swift Book。
【问题讨论】:
-
错误到底在哪里?
-
建议:由于这些后缀运算符将在 Swift 3 中被移除,最好立即改变习惯,将
index++替换为index += 1和index--替换为index -= 1。 :) -
@EricD。感谢您的提醒!