У меня есть UITableView, который заполняется массивом, у меня есть кнопка на панели навигации, которая (при нажатии) добавляет элемент в массив и вызывает [self.tableView reloadData] в UITableView. Это приводит к тому, что numberOfRowsInSection вызывается и возвращает правильное количество строк (количество элементов в массиве), но не вызывает cellForRowAtIndexPath. Я создал новое приложение на основе навигации, чтобы попытаться найти решение, но имеет точно такую же проблему! Если кто-то знает ответ, мы будем очень благодарны, я разорвал то, что осталось от моих волос за последний день! Я поставил источник для тестового проекта на моем сайте по адресу www.sofaracing.com/Downloads/Test3.zipПроблема перезагрузки UITableView
ответ
Работы для меня! ;)
В MainWindow.xib вы добавили объект Root View Controller (это не часть контроллера навигации) - удалите его, не обязательно. Затем подключите выход refreshFriendsList к кнопке панели NavigationItem RootViewController. Wha-la, волшебство!
ОТВЕТ: Вам может потребоваться очистить предупреждение. И вы можете подумать о создании класса для своей модели данных, а не для использования UIApplication sharedApplication.
Хорошо, я удалил RootViewController из NavigationController в MainWindow.xib, но я не понимаю, как подключить кнопку панели к IBAction без этого ...? – 2009-05-17 12:40:20
Игнорировать мой комментарий, я понял! Спасибо большое! – 2009-05-17 12:42:06
Я быстро отладил ваше тестовое приложение. Я не мог обнаружить основную причину, но кажется, что у вас есть два разных вида таблиц из-за некоторых ошибок в настройке интерфейса Builder.
Если вы инициализируете исходный массив элементом, корректно вызывается cellForRowAtIndexPath. Если вы исследуете экземпляр self.tableView в этом вызове, а затем в последующих вызовах refreshFriendsList, self.tableView указывает на другой экземпляр.
2009-05-17 14:33:07.591 Test3[33580:20b] cellForRowAtIndexPath 0
2009-05-17 14:33:07.594 Test3[33580:20b] self.tableView: <UITableView: 0x52b9b0>
2009-05-17 14:42:36.810 Test3[33762:20b] numberOfRowsInSection: tableView <UITableView: 0x53bcd0>
- 1. Дождитесь UITableView конца перезагрузки
- 2. Аварийные перезагрузки секции UITableView
- 3. Данные перезагрузки UITableView берутся навсегда
- 4. Данные перезагрузки UITableView не работают
- 5. Раздел перезагрузки UITableView при просмотре
- 6. раздел перезагрузки UITableView в ios
- 7. Ожидание завершения блока для перезагрузки данных UITableView
- 8. Проблема перезагрузки Navbar
- 9. Настройка методов UITableView для перезагрузки данных
- 10. UITableView не отображается после перезагрузки данных
- 11. Обновить данные UITableView без перезагрузки представления?
- 12. Каков наилучший способ обеспечения перезагрузки UITableView?
- 13. Перезагрузка UITableView без перезагрузки Заголовок раздела
- 14. Редактирование UITableView равно NO после перезагрузки таблицы
- 15. Почему не сбрасывается прядильщик после перезагрузки UITableView
- 16. Пользовательские перезагрузки ячеек при прокрутке UITableView
- 17. Прокрутка вида таблицы после перезагрузки uitableview
- 18. Сохраняйте выбранное значение UITableView после перезагрузки данных.
- 19. Настройка UITableView FooterView после перезагрузки таблицы
- 20. Xamarin - данные перезагрузки UITableView для массива
- 21. UITableView, как продолжить прокрутку после перезагрузки
- 22. Отключить взаимодействие во время перезагрузки uitableview
- 23. NSFetchedResultsController обновить записи UITableView без перезагрузки stutter
- 24. Проблема перезагрузки многоуровневой маршрутизации AngularJS
- 25. UITableView Выбор Сложение Проблема
- 26. Keyboard hide Проблема UITableView
- 27. Проблема в перезагрузке UITableview ..!
- 28. UITableView проблема отображения Cell
- 29. UITableView странная проблема
- 30. Проблема UITableView и SearchBar
Я должен добавить, что если я вывожу модальный вид перед таблицей, обновите массив и вызовите reloadData, а затем удалите модальный вид, тогда он будет работать отлично! Почему я не могу получить это поведение, когда вид таблицы видна? – 2009-05-17 11:12:42