0

テーブルビューからオブジェクトを取得して詳細ビューに渡そうとしています。これは、Objective-C で行う方法を知っていますが、初めて Swift を学習しています。ただし、私のコードはインデックス パスまたはオブジェクトから行を取得していません。

これが私のコードです。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        print("segue")
        if segue.identifier == "showDetail"{
                    if let destinationVC = segue.destination as? detailVC {
                                    )
                if let indexPath = self.tableView.indexPathForSelectedRow {      
                    print("row%@",indexPath)//Prints as nil
                let thisItem = myItems[indexPath.row]//never gets here
    destinationVC.item = thisItem 
            }
        }
    }
    }

行またはオブジェクトを取得できない理由を誰にもわかりますか? ご提案いただきありがとうございます。

編集:

私はそれを次のように動作させました:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "showDetail" {

            let indexPath: NSIndexPath = self.tableView.indexPathForSelectedRow! as NSIndexPath

            let anItem: myItem = myItems[indexPath.row];

            let destVC = segue.destination as? detailVC
            destVC?.item = anItem

        }
    }
4

2 に答える 2