2017-03-26 6 views
0

セルをタップするとすぐにテーブルビューを作成しようとしていますが、そのセルの詳細を含む別のビューが表示されます。私は詳細を表示するためにオブジェクトを2番目のビューに送信する準備メソッドを使用しました。 しかし、セルをタップすると、2番目のビューには以前にタップされたセルに関する情報が表示されます。 私はdidSelectRowAtを使って現在のタップされたセルをキャッチし、prepareメソッドを使ってオブジェクトを送りました。 この2つの方法のいずれかを使用して、このタスクを正しく実行できる可能性はありますか?すぐに、prepareが呼び出される前にdidSelectRowAtが呼び出されます

ヒントがあれば幸いです。

+0

「準備メソッド」とは何ですか? – xhg

+0

セグをセルに接続しないでください。代わりに、@ DonMagの答えに示すように、didSelectRow(at :)メソッドのコードからsegueを呼び出します。 –

+0

データソースからいくつかのデータを取得するために 'didSelectRowAt'から本当に必要なものが選択されたインデックスパスであれば、' didSelect'メソッドをバイパスし、 'tableView.indexPathForSelectedRow '。 – Samantha

答えて

1

segueは定義したままにしますが、行を選択するには接続しないでください。代わりに、次のように指定することができます(たとえば):

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    self.performSegueWithIdentifier("mySegueIdentifier", sender: tableView) 
} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
    if segue.identifier == "mySegueIdentifier" { 
     // do your normal stuff here.... 
    } 
} 
関連する問題