一尘不染

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

swift

我正在尝试遵循Apple的“
开始开发iOS应用程序(Swift)”教程,并且几乎完成了该教程。当我使用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中已更改,但我找不到它。难道我做错了什么?

谢谢,


阅读 263

收藏
2020-07-07

共1个答案

一尘不染

NSIndexPath 已更改为 IndexPath

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

API参考:indexpath

Swift 3.0开发人员预览版

2020-07-07