Call performSegueWithIdentifier : from your method didSelectRowAtIndexPath
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [self performSegueWithIdentifier:@"addToCartSegue" sender:self]; } - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
in Swift 2.3
//MARK: didSelectRowAtIndexPath override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { performSegueWithIdentifier("addToCartSegue", sender: self) } // MARK: - Navigation override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { // Get the new view controller using segue.destinationViewController. if segue.identifier == "addToCartSegue" { let selectedIndexPath = self.tableView.indexPathForSelectedRow let currentItem: Item = itemList[selectedIndexPath.row] if let viewcontroller = segue.destinationViewController as? RESTAddToCartViewController { viewcontroller.currentItem = currentItem } } }
Swift 3
//MARK: didSelectRowAtIndexPath override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { performSegue(withIdentifier: "addToCartSegue", sender: self) } // MARK: - Navigation override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "addToCartSegue" { if let selectedIndexPath = self.tableView.indexPathForSelectedRow { let currentItem: Item = itemList[selectedIndexPath.row] if let viewcontroller = segue.destination as? RESTAddToCartViewController { viewcontroller.currentItem = currentItem } } } }
source share