Ниже приведен мой код для добавления заголовка в раздел
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let optionsForSection = isMutliLevelOptions() ? options : optionsList?[section]
let sectionView = MenuOptionHeaderView()
sectionView.isMultiSelectAllowed = allowsMultipleSelection(section)
sectionView.selectedOptionsCount = getSelectedCount(section)
sectionView.option = optionsForSection
sectionView.setUI()
//headerView = sectionView
return sectionView
}
Ниже приведен код для доступа к заголовку раздела
func updateHeader(section : Int) {
let headerView : MenuOptionHeaderView = optionsTableView.headerView(forSection: section) as! MenuOptionHeaderView
headerView.selectedOptionsCount = getSelectedCount(section)
headerView.setUI()
}
Но приведенный выше код дает сбой, говоря Тема 1 : Фатальная ошибка: неожиданно обнаружен ноль при развертывании необязательного значения
Также я получаю предупреждение Приведение из 'UITableViewHeaderFooterView?' с несвязанным типом MenuOptionHeaderView всегда не удается в моем коде
Я создаю MenuOptionHeaderView с использованием файла .xib и работает нормально Я хочу знать, как получить заголовок для определенного раздела
Ниже приведен код MenuOptionHeaderView
import UIKit
class MenuOptionHeaderView: UIView {
@IBOutlet weak var optionNameLbl: UILabel!
@IBOutlet weak var selectMinLbl: UILabel!
@IBOutlet var contentView: UIView!
var option : Options?
var selectedOptionsCount = 0
var isMultiSelectAllowed = false
override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
func commonInit() {
Bundle.main.loadNibNamed("MenuOptionHeaderView", owner: self, options: nil)
contentView.fixInView(self)
}
func setUI() {
optionNameLbl.text = isMultiSelectAllowed ? "\(option?.name ?? "")(\(selectedOptionsCount))" : (option?.name ?? "")
}
}