Кастомный заголовок для Static Cells

Я хочу менять заголовок (Header) для Static Cells в зависимости от состояния моего приложения, через переменную. Например:

override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    var headerText = "Header"
    if section == 0 {
        myVar ? (headerText = "HeaderText_1") : (headerText = "HeaderText_2")
    }
    return headerText
}

Но в процессе, независимо от значения моей переменной myVar, отображается только то значение headerText, которое определилось при первом запуске приложения. Как возможно влиять на это?


Ответы (1 шт):

Автор решения: schmidt9

Вы неверно используете тернарное выражение ? :, оно предназначено для возвращения результата, внутри него нельзя присваивать выражения

Вам нужно переписать условие например так

if section == 0 {
    headerText = myVar ? "HeaderText_1" : "HeaderText_2"
}

Дополнение

Для обновления заголовка вызовите tableView.reloadData()

→ Ссылка