Почему я получаю сообщение об ошибке при быстром вызове функции getIndex (cell: TableViewCell1)? - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь получить indexpath ячейки, для которой я использую эту функцию в своем контроллере представления.

func getIndex(cell : TableViewCell1) -> IndexPath
    {
       let x = cell.cellTextField.convert(CGPoint.zero, to: self.tableView)
        let indexPath = self.tableView.indexPathForRow(at: x)
        return indexPath!
    
    }

Он работает нормально, но когда я пытаюсь использовать значение, возвращаемое эту функцию в мой метод IBAction:

  @IBAction func tapButton(_ sender: UIButton) {
let indexPath1 = getIndex(cell: TableViewCell1)
    }

Я получаю эту ошибку

Невозможно преобразовать значение типа TableViewCell1.Type в ожидаемый тип аргумента TableViewCell1.

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

1 Ответ

0 голосов
/ 01 августа 2020

В сообщении об ошибке говорится, что метод получает объект, который является типом TableViewCell1, но вместо этого вы даете определение типа.

Если метод tapButton находится внутри подкласса TableViewCell1, тогда

class TableViewCell1: UITableViewCell {
    @IBAction func tapButton(_ sender: UIButton) {
        let indexPath1 = getIndex(cell: self)
    }
}
...