2017-02-15 3 views
2

У меня есть 2 VC, один из которых называется HomeVC, а другой - DetailVC. У меня есть табличный вид на HomeVC, который отображает ячейки с меткой и кнопкой. DetailVC просто имеет ярлык. Я показываю массив строк в представлении таблицы и когда нажата кнопка на ячейке, я хочу передать текст в метке на ярлык DetailVC.Использование кнопки в ячейке для передачи данных в swift

Теперь я могу легко сделать это с помощью метода didSelectRowAt или с помощью indexPathForSelectedRow в методе подготовки segue. Но в обоих случаях мне нужно нажать на камеру, но не на кнопку.

Я просто начинающий быстро. Но для объяснения этого не должно быть необходимости в большом количестве кода. Поэтому, если вы можете, пожалуйста, объясните подробно.

Заранее спасибо.

+2

добавить цель к своей кнопке в cellForRow –

ответ

2

В cellForRowAt добавить цель кнопка т.е.

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "cellID", for: indexPath) 
     cell.button.tag = indexPath.row 
     cell.button.addTarget(self, action: Selector("buttonAction:"), for: .touchUpInside) 

     // other cell element setup 
     return cell 
    } 

И кнопка действия получить элемент из массива с помощью кнопки тега

т.е.
func buttonAction(sender: UIButton) { 
    let data = tableArray[sender.tag] 
    // logic to pass present detailVC 
} 

Надеется, что это будет работать !!