Как другие говорили вам в комментариях, не очень хорошая идея, что ячейка может обращаться к свойствам tableView, потому что ячейка зависит от таблицы.Это означает, что если вы даете ячейке возможность изменять свойства в табличном представлении, то оба они зависимы, и это может привести к путанице с сотнями ячеек, изменяющими свойства в таблице.Таким образом, это хорошая идея переосмыслить дизайн (т.е. программирование, ориентированное на протоколы).
Но если нет другого жизнеспособного способа, тогда вы можете добавить private weak var
(нам нужно private *)1005 *, чтобы гарантировать, что только ячейка может получить к ней доступ, и слабый , потому что мы не хотим сохранения цикла):
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") as! TestTableViewCell
cell.tableView = tableView
cell.textLabel?.text = "Test"
return cell
}
class TestTableViewCell: UITableViewCell {
private weak var tableView: UITableView?
override func awakeFromNib() {
super.awakeFromNib()
}
func loadDetails() {
guard let tableView = tableView else { return }
// Here you can access your tableView
}
}