You have to manually by using sender tag
func bar(sender: UIButton!) {
if sender.tag == 0 {
self.performSegueWithIdentifier("viewcontroller1", sender: tableView)
}
else if sender.tag == 1 {
self.performSegueWithIdentifier("viewController2", sender: tableView)
}
//...... and so on
}
And implement following method
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "viewController1" {
let indexPath:NSIndexPath = self.tableView.indexPathForSelectedRow()!
let detailVC = segue.destinationViewController as ViewController1
detailVC.item = items[indexPath.row] as Item // Pass your data
}
else if segue.identifier == "viewController2" {
}
//...... and so on
}
Or if you want to navigate manually from button event then
func bar(sender: UIButton!) {
if sender.tag == 0 {
let indexPath:NSIndexPath = self.tableView.indexPathForSelectedRow()!
let detailVC = self.storyboard?.instantiateViewControllerWithIdentifier("view1SegueIdentifier") as! ViewController1 // view1SegueIdentifier -> assign it from storyboard
detailVC.item = items[indexPath.row] as Item // Pass your data
self.navigationController!.pushViewController(detailVC, animated:true)
}
else if sender.tag == 1 {
}
//...... and so on
}