user5483739
user5483739

Reputation:

Swift - Expected expression after operator (error)

I have 2 errors in the below code, with the same reason why. How do I fix this?

The error says "Expected expression after operator" on both lines return viewControllerAtIndex(index) in the last two functions.

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)
}

This is from Simon Ng's Swift Book.

Upvotes: 1

Views: 10959

Answers (1)

Wallace Campos
Wallace Campos

Reputation: 1301

The problem is the space between target and postfix increment/decrement operators. Should be index++ and index--.

Upvotes: 3

Related Questions