如何在Swift3中更改NSIndexPath初始化?

时间:2016-07-14 19:16:29

标签: ios swift swift3

我试图跟随Apple的Start Developing iOS Apps (Swift) tutorial并几乎完成了它。我不得不修改教程的几个部分,因为我使用Xcode 8(我认为使用Swift 3而不是Swift 2)。但是,我遇到了以下编译器错误,我不知道原因:

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

在以下函数中:

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

}

我猜测NSIndexPath有一个不同的初始化程序在Swift 3中发生了变化,但我无法找到它。我做错了吗?

谢谢,

1 个答案:

答案 0 :(得分:106)

NSIndexPath已更改为IndexPath

尝试IndexPath(row: Int, section: Int)

API Reference : indexpath

Swift 3.0 Developer Preview