【问题标题】:Swift - Expected expression after operator (error)Swift - 运算符后的预期表达式(错误)
【发布时间】: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 += 1index-- 替换为index -= 1。 :)
  • @EricD。感谢您的提醒!

标签: ios swift


【解决方案1】:

问题在于目标和后缀递增/递减运算符之间的空间。应该是index++index--

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多