Модификация текста в статической ячейке UitableView?
-
27-10-2019 - |
Вопрос
Я использую представление таблицы «статические ячейки», созданное в моем файле раскадровки. Однако я хотел бы обновить текст на одной из этих ячеек, когда изменяется настройка.
Я нажимаю контроллер представления, который обновляет настройку. Я пытаюсь использовать обратный вызов, чтобы изменить текст ячейки, когда она выскочила из стека, но к этому моменту ячейка, по -видимому, была переработана или повторно использована, поэтому старый объект не имеет экрана и больше не используется в представлении таблицы.
Есть ли способ обновить этот текст и сделать его постоянным (так, чтобы, когда ячейка прокручивается с экрана и возвращается, новое значение все еще появляется)?
Решение
Предполагая, что иерархия вашего таблица соответствует:
Table View (static cells)
- Table View Section
- Table View Cell
- UILabel (with the text property you want to modify)
- Объявить iboutlet
UILabel
в вашем коде и подключите его в раскадровкеUILabel
В таблице иерархии выше. - В вашем методе обратного вызова установите свой
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
}