Я работаю в проекте, который находится в Objective C, и версия XCode - 10.1.В этом проекте я использую сокет.В этом приложении я постоянно читаю данные из сокета.И я показываю обновленное значение в табличном представлении.Для этого я перезагружаю заголовок раздела таблицы, как только данные поступают из сокета.Значит, если я получу id = 5, то я пытаюсь найти индекс раздела, чей id == 5, и я буду обновлять только этот раздел.
Теперь проблема в том, что когда я нажимаю на заголовок таблицы, он открывает внутреннюю строку этогозаголовок раздела и после этого, когда я прокручиваю вниз, представление таблицы движется вверх и вниз, как прыжки непрерывно, потому что данные поступают таким быстрым способом.
Например.: Представление таблицы
Случай 1: (прокрутка работает отлично)
- Заголовок раздела 1 (Когда я нажимаю на заголовок 1, появляется строка 1)
- РазделЗаголовок 2
- Заголовок раздела 3
- Заголовок раздела 4
- Заголовок раздела 5
Случай 2: (Прокрутка приведет к прыжковым заголовкам)
- Заголовок раздела 1 (при нажатии на Заголовок 1 будет удалена строка 1)
- Заголовок раздела 2
- Заголовок раздела 3
- Заголовок раздела 4
- Заголовок раздела 5
Таким образом, в приведенной выше структуре, когда мы нажимаем на Заголовок 1, а затем прокручиваем вниз, в это время следующие заголовки перепрыгивают из-за непрерывного процесса обновления.
Этот эффект заголовка прыжка при прокрутке не возникает в случае 1.Это произошло только в случае 2.
Эта проблема не возникала, когда я перезагружал всю таблицу вместо того, чтобы перезагружать только один заголовок раздела за раз.Пожалуйста, помогите мне в этом вопросе.Заранее благодарю.
Я попытался перезагрузить заголовок раздела, как упомянуто ниже.[tableView beginUpdates];
[tableView reloadSections:[NSIndexSet indexSetWithIndex:i] withRowAnimation:UITableViewRowAnimationNone];
[tableView endUpdates];