Данные перезагрузки UITableView
Я делаю навигационное приложение для iphone.
один из моих контроллеров просмотров выглядит следующим образом:
@interface NewComputerViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
поэтому я использую UITableView
для отображения данных.
когда загружается представление, я использую кнопку в верхней навигационной панели для запуска функции loadStuff
загружать некоторые вещи в словарь.
Мой вопрос: как мне повторно заполнить представление таблицы в этом диспетчере представлений из этой функции loadStuff
(которая принадлежит контроллеру представления)
Ответы
Ответ 1
Вы всегда можете использовать метод [tableView reloadData]
!
Но если у вас есть некоторые данные, хранящиеся локально и загружающие новые вещи с какого-либо сервера, вы можете пойти:
[tableView beginUpdates];
[tableView insertRowsAtIndexPaths:*arrayOfIndexPaths* withRowAnimation:*rowAnimation*];
[tableView endUpdates];
И если вы хотите удалить существующую строку, вы можете использовать
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:*arrayOfIndexPaths* withRowAnimation:*rowAnimation*];
[tableView endUpdates];
Ответ 2
Попробуйте использовать [tableView reloadData];
(где tableView - это имя вашей переменной экземпляра)
Ответ 3
Даже перезагрузка...
[tableView reloadData];
не будет перезагружать отредактированные строки/ячейку,]. Проверка IBOutlet таблицыView не подключен в XIB файле.?
Это может быть одной из причин.
Ответ 4
Очень важно то, что вам нужно убедиться, что источник вашего таблицы также отражает ваши изменения.
Если вы что-то удалите, [tableView reloadData] ничего не сделает, если вы сначала не удаляете элемент в своем источнике.
У меня был этот вопрос в следующей ситуации:
У меня был табличный вид, в котором были некоторые файлы в папке с документами. Затем я хотел удалить некоторые файлы, и я удалил их в папке с документами, но они все еще отображаются в моем списке. Я попробовал [tableView reloadData] и все другие предлагаемые ответы в этом сообщении, но все же были файлы, перечисленные.
Когда я закрыл табличное представление и снова открыл его, список был в порядке. Зачем?
Ну, потому что я заполнил NSArray всеми моими файлами → это мой "источник" для tableView. Поэтому, когда я удаляю файл, мне нужно не только удалить файл в папке документов, но и удалить его из массива. → Поэтому я создал NSMutableArray, чтобы иметь возможность удалить его.
Затем вызовите [tableView reloadData], и список в порядке.; -)
Ответ 5
в конце вашей функции loadstuff перезагрузите содержимое таблицы ur, написав следующий код:
[tableView reloadData];
Ответ 6
Убедитесь, что вы устанавливаете datasource
и делегируете для tableView
.
tableView.delegate = self;
tableView.dataSource = self;
Убедитесь, что в контроллере реализован правильный метод делегирования и источника данных.
В методе loadStuff вызовите:
[tableView reloadData];
В быстром, то же самое:
tableView.delegate = self
tableView.dataSource = self
tableView.reloadData()
Ответ 7
[tableView reloadData];
где tableview - это имя вашего UITableView