Что-то странное происходит с моим просмотром таблицы при изменении данных. У меня есть что-то вроде этого:
// fadeout existing data
... // change data (new values for the cells are blank)
for{ // loop all rows
[TableView reloadRowsAtIndexPaths: withRowAnimation:]; // smooth fade out
}
// add one new row to the table
... // change data (just add one new row but leave the cells empty)
[TableView reloadData] // reload all of the data (new row should be added)
... // change data (just add values to the existing cells)
for{ // loop all rows
[TableView reloadRowsAtIndexPaths: withRowAnimation:]; // smooth fade in
}
Теоретически, по крайней мере, то, что я думаю, это должно работать. Но у меня были некоторые глюки, поэтому я добавил NSLogs в циклы for и в: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
, так что я заметил, что мой [tableView reloadData] выполняется после первого ряда замирания в цикле! @ #
Я думал о том, чтобы сделать некоторую задержку между reloadData и циклом постепенного исчезновения, но я не хочу, чтобы это работало, я хочу, чтобы он работал правильно.
- Есть ли лучший способ выполнить то, что я пытаюсь сделать?
- Можно ли динамически добавить одну строку внизу таблицы, не вызывая метод reloadData?
Спасибо.