Когда следует использовать UITableView reloadData? И дефект связанный;) - PullRequest
0 голосов
/ 02 марта 2009

Я построил UITableView с пользовательскими ячейками, каждый из которых содержит 5 текстовых полей (немного как сетка). Ячейки можно редактировать встроенными (не нужно переходить в отдельный вид).

Я столкнулся с некоторыми странными дефектами, когда дело доходит до использования reloadData.

  • мой нижний колонтитул таблицы является динамическим (вычисляет значение на основе ячеек). Должен ли я вызывать reloadData каждый раз, когда обновляю ячейку? Или есть способ обновления только нижнего колонтитула?

  • Когда я начинаю редактировать свою ячейку, но оставляю ее пустой (не пишите текст в текстовом поле), ячейка не переходит в режим редактирования, если я использовал reloadData. Есть ли какой-либо известный дефект при выполнении reloadData для пустых ячеек?

По сути, я не совсем уверен в лучших методах использования reloadData и не нашел нигде руководства. Любой совет будет очень признателен.

С уважением, Jonathan

1 Ответ

0 голосов
/ 14 мая 2009

Вы должны минимизировать перезагрузки в табличных представлениях и использовать их только тогда, когда вы не можете обновить таблицу другим способом.
Например, при удалении строки вам не требуется перезагрузка, просто используйте deleteRowsAtIndexPaths или deleteSections, если необходимо.

Другие виды вы можете просто обновить свои свойства. Например, если у вас есть метка в нижнем колонтитуле, вам просто нужно установить ее текстовое свойство. Вам не нужно перезагрузить стол.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...