2016-03-06 2 views
1

У меня есть два viewcontrller vc1 и vc2. В vc1 это tableview обрабатывается json и отображает некоторые имена.prepareForSegue элементы в массиве в swift

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 и положить в вар nameFromVC1

ответ

0

Вы должны использовать что-то вроде этого в 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

Тпх я сделал только имена [tableView.indexPathFor SelectedRow !.row] и он работает – DarkMan

+0

Без проблем получайте удовольствие –

Смежные вопросы