Ответ 1
У меня были подобные предупреждения по всему моему приложению. На самом деле было 2 проблемы. Я исправил все предупреждения либо путем добавления подчеркивания к сигнатуре метода, либо путем перемещения метода к правильному расширению, которое реализует протокол, из которого поступает метод.
Я думаю, что ваша проблема может быть комбинацией обоих.
Подробнее:
1) Вы можете забыть добавить символ "подчеркивания" перед "tableView:...", что делает его другим методом в Swift 3 (в Swift 2.3 это не имеет значения). Поэтому вы должны изменить это:
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
:
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
2) Метод tableView(_:viewForHeaderInSection:)
является протоколом UITableViewDelegate
, но похоже, что компилятор не знает об этом методе - он знает только методы из UITableViewDataSource
и пытается сообщить вам одну из них (tableView(_:titleForHeaderInSection:)
). Таким образом, вы вообще не реализуете UITableViewDelegate
вообще, или вы это делаете, но, возможно, в другом расширении?