Вопрос

Я использую представление таблицы «статические ячейки», созданное в моем файле раскадровки. Однако я хотел бы обновить текст на одной из этих ячеек, когда изменяется настройка.

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

Есть ли способ обновить этот текст и сделать его постоянным (так, чтобы, когда ячейка прокручивается с экрана и возвращается, новое значение все еще появляется)?

Это было полезно?

Решение

Предполагая, что иерархия вашего таблица соответствует:

Table View (static cells)
 - Table View Section
  - Table View Cell
    - UILabel (with the text property you want to modify)
  1. Объявить iboutlet UILabel в вашем коде и подключите его в раскадровке UILabel В таблице иерархии выше.
  2. В вашем методе обратного вызова установите свой UILabelТекстовое свойство, как вы считаете нужным.

Другие советы

Вы можете хранить текст, который хотите изменить в качестве свойства, и использовать его в:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath)

    switch (indexPath.section, indexPath.row) {
    case (0, 3):
        cell.textLabel?.text = yourProperty

    default: break
    }

    return cell
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top