我正在尝试遵循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中已更改,但我找不到它。难道我做错了什么?
谢谢,
NSIndexPath 已更改为 IndexPath
NSIndexPath
IndexPath
尝试 IndexPath(row: Int, section: Int)
IndexPath(row: Int, section: Int)
API参考:indexpath
Swift 3.0开发人员预览版