2012-01-08 5 views
0

У меня есть представление таблицы в приложении панели приложений iPhone xcode, которое отображает данные в алфавитном или цифровом порядке в зависимости от выбранного пользователем параметра на одной из вкладок. Он работает по большей части, но когда я меняю этот параметр и снова возвращаюсь в представление таблицы, представление таблицы сначала выглядит так, как будто это было сделано до того, как была изменена опция. Однако, поскольку новые ячейки получают прокрутку в представлении, они имеют новый режим отображения.Как сбросить представление таблицы?

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

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

Любая помощь будет оценена по достоинству. Благодарю.

ответ

2

Похоже, вы хотите вызвать reloadData на TableView.

[yourTableView reloadData];

+0

Так я объявляю свое мнение, но когда я пытаюсь сделать [tableView reloadData]; Я получаю tableView необъявленным. - (UITableViewCell *) Tableview: (UITableView *) Tableview \t \t cellForRowAtIndexPath: (NSIndexPath *) indexPath { – Rick

+0

Как я думаю об этом, я не уверен, reloadData будет работать для этого, хотя я не знаком с этим. Я использую пользовательский вид ячеек для форматирования 3 элементов данных. Я загружаю ячейку таблицы. Я думаю, что после того, как вкладка «options» загрузила и получила вход от пользователя, я хочу выпустить свою таблицу и начать с нуля при следующей загрузке. – Rick

+0

Я думаю, вы пытаетесь назвать это не в том месте. Его следует называть где-то, что приводит к изменению данных, а не к методам, которые создают TableView. Если у вас есть панель вкладок и нажатие одной кнопки изменяет порядок сортировки, внутри действия для этой кнопки вы сортируете данные, а затем вызываете [self.tableView reloadData]; используя iVar для вашего TableView. * Если вы меняете что-то в другом контроллере, который влияет на данные в TableView во втором контроллере, вам нужен метод делегата, который будет обновлять данные и перезагружать их. Или наблюдатель. Много способов сделать это. –

Смежные вопросы