Почему переопределение функции и ничего не делать, кроме вызова реализации базового класса, возвращает результаты, отличные от переопределения? - PullRequest
0 голосов
/ 17 сентября 2018

Это кажется странным для меня.В подклассе UITableViewController у меня есть это ...

override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return super.tableView(tableView, heightForHeaderInSection: section)
}

Насколько мне известно, должен по сути быть неактивным, потому что он просто проходит через значение, как будто оно не былопереопределеноТем не менее, результаты на самом деле разные.

Я предполагаю, что реализация по умолчанию на самом деле не вызывает базовый класс, а скорее проверяет наличие дополнительной функции делегата, и если она не определена (чтоэто не будет, если вы не переопределите это), он делает что-то еще.Тем не менее, я не уверен, что это правильно, поскольку я специально говорю, что нужно переопределить что-то, а не просто реализовать метод делегата (который вам не нужно переопределять.)

Так почему бы это вернуть разные результаты?

...