Индекс кнопки доступа из TableView внутри другого TableView - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть TableView внутри другого TableView, а внутренний tableView содержит кнопки.Я могу запустить метод при нажатии на кнопку, но не могу получить indexPath.Приложение выходит из строя, когда я использую код ниже

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {   
    let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell") as! MyCell 
    cell.myButton?.addTarget(self, action:#selector(myButtonPressed(_:)), for:.touchUpInside) 
    return cell   
}

@objc func myButtonButtonPressed(_ sender: AnyObject) {
    let button = sender as? UIButton
    let cell = button?.superview?.superview as? UITableViewCell
    let clasObj = myCell()
    let indexPath = myCell.InsidetabView.indexPath(for: cell!)
    let index = (indexPath?.row)!
    print(index) 
}

1 Ответ

0 голосов
/ 06 декабря 2018

Я присвоил метке кнопке метод TableView, cellForRowAt indexPath и получил доступ к ней по методу buttonPressed

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {   
    let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell") as! MyCell 
    cell.myButton?.addTarget(self, action:#selector(myButtonPressed(_:)), for:.touchUpInside) 

    cell.button.tag = indexPath.row

    return cell   
}

@objc func myButtonButtonPressed(_ sender: AnyObject) {
    let button = sender as? UIButton
    let row = button!.tag
}
...