2016-03-06 43 views
1

我有兩個viewcontrller vc1和vc2。在vc1中,它是用json解析的tableview,它顯示了一些名字。在swift中的數組prepareForSegue元素

vc1: 

var names: [String] = [] // Displays name (Ana, Mike, John ....) 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! TVC 

cell.lable.text = name[indexPath.row] 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

     let someName: vc2 = segue.destinationViewController as! vc2 
     someName.nameFromVC1 = //need code here 

    } 


vc2: 

var nameFromVC1: String! 

我的目標是當表顯示的名字,我點擊了一些名字說:「安娜」,我想「安娜」被髮送到VC2,放在VAR nameFromVC1

回答

0

你應該使用這樣的在VC 1:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

    // Prepare the destination view controller with the selected name 
    (segue.destinationViewController as? NameDetailViewController)? 
     .prepareForName(
      names[tableView.indexPathForSelectedRow!.row] 
     ) 
} 

這在您的目的地視圖控制器:

func prepareForName(name: String) { 
    self.name = name 
} 
+0

TNX我只做名[tableView.indexPathFor SelectedRow!.row]和它的工作原理 – DarkMan

+0

沒問題玩得開心 –

相關問題