我有一个BaseViewController连接到3个不同的自定义ViewControllers使用带标识符的segues。 BaseViewController有一个tableview,基于tableviewCell中的数据,BaseViewController决定将哪个segue带到3个自定义DestinationViewControllers中。
我还需要将一些数据传递给DestinationViewController。
我正在尝试使用prepareForSegue或performSegueWithIdentifier。
prepareForSegue允许我使用UIStoryboardSegue设置目标视图控制器并传递数据。但是,它不允许我指定我想要调用的segue标识符。案例0&案例1使用两个不同的ViewControllers。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch testVar{
case 0:
let svc = segue.destinationViewController as! CustomTableViewController1
svc.name = myName
break;
case 1:
let svc = segue.destinationViewController as! CustomTableViewController2
svc.name = myName1
break;
default:
break
}
}
performSegueWithIdentifier允许我指定segue标识符,但它不允许我指定我想调用的3个自定义DestinationViewController中的哪一个,也不能给我一个传递我需要的数据的好方法通过。
func tableView(tableView: UITableView, willSelectRowAtIndexPath indexPath: NSIndexPath) -> NSIndexPath? {
switch testVar {
case 0:
performSegueWithIdentifier("destination1", sender:self )
break;
case 1: //Submitted
performSegueWithIdentifier("destination1", sender: self)
break;
default:
break
}
return indexPath
}
你们可以提出任何解决方案吗?提前谢谢!