Я работаю над проектом, который находится в Objective C, а версия Xcode — 10.1. В этом проекте я использую socket. В этом приложении я постоянно читаю данные из Socket. И я показываю обновленное значение в виде таблицы. Для этого я перезагружаю заголовок раздела таблицы так же быстро, как данные поступают из сокета. Означает, что если я получу id = 5, я попытаюсь найти индекс раздела, чей id == 5, и я буду обновлять только этот раздел.
Теперь проблема заключается в том, что когда я нажимаю на заголовок таблицы, он открывает внутреннюю строку заголовка этого раздела, а после этого, когда я прокручиваю вниз, представление таблицы перемещается вверх и вниз, как непрерывное прыжки, потому что данные поступают таким быстрым способом.
Для экс. : Представление таблицы
Случай 1: (Прокрутка работает отлично)
- Заголовок раздела 1 (когда я нажимаю на заголовок 1, появляется строка 1)
- Заголовок раздела 2
- Заголовок раздела 3
- Заголовок раздела 4
- Заголовок раздела 5
Случай 2: (Прокрутка приведет к прыжкам заголовков)
- Section Header 1 (When I click on Header 1, Row 1 will be removed)
- Row 1
- Заголовок раздела 2
- Заголовок раздела 3
- Заголовок раздела 4
- Заголовок раздела 5
Таким образом, в приведенной выше структуре, когда мы нажимаем на заголовок 1, а затем прокручиваем вниз, в это время следующие заголовки прыгают из-за непрерывного процесса обновления.
Этот эффект прыгающего заголовка в прокрутке отсутствует в сценарии Case 1. Это произошло только в случае 2.
Эта проблема не возникала, когда я перезагружала всю таблицу вместо перезагрузки только одного заголовка раздела за раз. Пожалуйста, помогите мне в этом вопросе. Заранее благодарю.
Я попытался перезагрузить заголовок раздела, как указано ниже. [tableView beginUpdates];
[tableView reloadSections:[NSIndexSet indexSetWithIndex:i] withRowAnimation:UITableViewRowAnimationNone];
[tableView endUpdates];