web-dev-qa-db-ja.com

Swift3でNSIndexPathの初期化はどのように変更されましたか?

Appleの iOSアプリの開発を開始(Swift)チュートリアル を追おうとしていますが、ほぼ完了しています。 Xcode 8を使用しているため、チュートリアルのいくつかの部分を修正する必要がありました(Swift 2の代わりにSwift 3を使用すると思います)。次のコンパイラエラーが発生しましたが、その理由はわかりません。

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

}

Swift 3で変更されたNSIndexPathの別の初期化子があると思いますが、それを見つけることができません。何か間違っていますか?

おかげで、

37
Garry Pettet

NSIndexPathIndexPathに変更されました

IndexPath(row: Int, section: Int)を試してください

APIリファレンス:インデックスパス

Swift 3.0開発者プレビュー

106
iOSGeek