Я пытаюсь добавить footerView для каждого отдельного раздела в моем приложении. Я успешно добавил заголовок, так как он не требует наличия какой-либо кнопки, однако, когда я пытаюсь использовать ту же реализацию для моего footerView, где должна быть кнопка, которая правильно идентифицирует раздел, из которого он был нажат, не работает Я добавляю как заголовок, так и нижний колонтитул в качестве прототипа ячеек из моего UITableView Подклассы footerView UITableViewCell и я добавили кнопку в конструктор интерфейса, даже простой оператор печати не может быть запущен.
Как мой footerView может распознать, что я нажимаю кнопку, а также, как он может распознать участок, из которого она была нажата?
import UIKit
class FooterTableViewCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
var footerDelegate:FooterTableViewCellDelegate?
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func addSetIsPressed(_ sender: UIButton) {
print("Add Set is pressed")
footerDelegate?.didAddSetIsPressed(cell:self)
}
}
protocol FooterTableViewCellDelegate {
func didAddSetIsPressed(cell:FooterTableViewCell)
}
Существует моя реализация моей Footertableviewcell
Как вы можете видеть, я не использовал никакие файлы кончиков или программно добавил нижний колонтитул, я использовал другой tableViewCell и использую его view.contents для показать это в виде таблицы
Здесь я реализую оставшуюся часть кода в моем контроллере TableView
class TableViewController: UITableViewController, ExerciseTableViewCellDelegate, UICollectionViewDelegate, UICollectionViewDataSource, FooterTableViewCellDelegate {
func didAddSetIsPressed(cell: FooterTableViewCell) {
print("Add set is pressed from delegate")
}
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let cell = tableView.dequeueReusableCell(withIdentifier: "footerCell") as! FooterTableViewCell
cell.footerDelegate = self
return cell.contentView
}
Заранее спасибо за помощь