Удаление ячейки по нажатию кнопки
У меня есть таблица и xib Cell. На эту ячейку я добавил лейбл и кнопку. Как по нажатии на кнопку удалять всю ячейку из таблицы ??
import UIKit
class PlayerListTableViewCell: UITableViewCell {
//MARK:Outlets
@IBOutlet var removePlayerButtonOutlet: UIButton!
@IBOutlet var playerNameLabel: UILabel!
//MARK: Actions
@IBAction func removePlayerButtonAction(_ sender: UIButton) {
//DELETE CELL ?
}
//MARK:Override func
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
Ответы (1 шт):
Автор решения: Recursive Daun
→ Ссылка
Исходя из комментария @OlegSoloviev могу предложить следующее:
1. Создаёте делегат для каждой ячейки, например:
protocol CellDelegate: AnyObject {
func updateButtonTapped(sender: UITableViewCell)
func deleteButtonTapped(sender: UITableViewCell)
}
sender: UITableViewCell заменяете на свой класс
2. В методах-обработчиках делегата пишите нечто вроде этого:
func removeButtonTapped(sender: UITableViewCell) {
guard let indexPath = tableView.indexPath(for: sender) else {
print("Can't get indexPath")
return
}
tableView.deleteRows(at: [indexPath], with: .fade)
}
Для апдейта сами сделаете, суть вы должны были понять
P.S. Или воспользуйтесь идеей @OlegSobolev она весьма легка и удобна в реализации