В качестве дополнительного вопроса к предыдущему сообщению: фильтрация контента для UITableView
При фильтрации набора данных для UITableView, предполагая, что я использовал NSPredicate в соответствии с рекомендацией в предыдущем посте,выглядит ли общая идея следующим образом:
NSArray *allData;
NSMutableArray *filteredData;
- Когда нажата кнопка фильтра, используйте NSPredicate для заполнения
- FilterData Перезагрузите таблицу с помощью
[tableView reloadData];
В моих методах источника данных tableView и делегата я бы в основном проверил, была ли кнопка фильтра включена, и отображала ли отфильтрованные данные, если нет - show allData.
В чем я не уверенВ одном из видеороликов WWDC 2010 о табличных представлениях говорится, что reloadData - дорогостоящая операция, и вместо этого вам следует обновить свое представление, используя методы вставки / удаления / замены для tableView.А анимация также дает пользователю контекст того, что происходит.Так что, если это так, вы все еще используете reloadData?Я не могу понять, как tableViews будет знать, что показывать, если фильтр включен и reloadData не вызывается.Я предполагаю, что вам придется перезагрузить данные, если фильтр был включен, а затем также обновить представление с помощью методов вставки / удаления / замены для анимации, если вы хотите дать пользователю некоторый контекст происходящего.Это правильно?Спасибо.