web-dev-qa-db-fra.com

Comment l'initialisation NSIndexPath a-t-elle changé dans Swift3?

J'essaie de suivre le didacticiel d'Apple commencer à développer des applications iOS (Swift) et je l'ai presque terminé. J'ai dû modifier plusieurs parties du didacticiel, car j'utilise Xcode 8 (qui, je pense, utilise Swift 3 au lieu de Swift 2).) Je rencontre l'erreur de compilation suivante et je ne sais pas pourquoi:

Argument labels (forRow:, inSection) do not match any available overloads

dans la fonction suivante:

@IBAction func unwindToMealList(sender: UIStoryboardSegue) {

    if let sourceViewController = sender.sourceViewController as? MealViewController, meal = sourceViewController.meal {
        // Add a new meal
        let newIndexPath = NSIndexPath(forRow: meals.count, inSection: 0)
        meals.append(meal)
        tableView.insertRows(at: newIndexPath, with: .bottom)
    }

}

Je devine qu'il y a un initialisateur différent pour NSIndexPath qui a changé dans Swift 3 mais je ne le trouve pas. Est-ce que je fais quelque chose de mal?

Merci,

37
Garry Pettet

NSIndexPath a été remplacé par IndexPath

essayez IndexPath(row: Int, section: Int)

Référence API: indexpath

Aperçu du développeur Swift 3.

106
iOSGeek