Swift prepareForSegue是许多自定义ViewControllers之一

时间:2016-04-09 18:43:12

标签: swift segue viewcontroller prepare

我有一个BaseViewController连接到3个不同的自定义ViewControllers使用带标识符的segues。 BaseViewController有一个tableview,基于tableviewCell中的数据,BaseViewController决定将哪个segue带到3个自定义DestinationViewControllers中。

我还需要将一些数据传递给DestinationViewController。

我正在尝试使用prepareForSegue或performSegueWithIdentifier。

  1. 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
        }
    }
    
  2. 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
    }
    
  3. 你们可以提出任何解决方案吗?提前谢谢!

0 个答案:

没有答案
相关问题