Я попытался написать пробную демонстрацию для приложения IM, поэтому я разработал простой пользовательский интерфейс для общения с другим приятелем: пока я отправляю сообщение, я перезагружу UITableView, чтобы показать сообщение так же, как я получаю сообщение. Проблема заключается в том, что когда я отправляю сообщение, UITableView будет обновляться после вызова метода reloadData, но когда я получаю сообщение, он вообще не работает, мне нужно потянуть вверх или вверх по UITableView, после чего он обновится , Я установил делегат dataSource и UITableView, и я связал свойство IBOutlet с файлом nib, я проверял значение свойства IBOutlet до того, как я вызываю reloadData (он содержит допустимое значение), и я проверил значение dataSource (когда я получил сообщение, это значение изменилось, и в него было добавлено одно сообщение). Итак, пожалуйста, скажите мне, что с ним не так?UITableView reloadData не работает?
ответ
Спасибо @ Тим очень much.I поймали причину, как вы объяснили, и я обнаружил, что способ получить сообщение вызывается ребенком нить and.So изменить мой исходный код:
dispatch_async(dispatch_get_main_queue(), ^{
[self.tv_chat_records reloadData];
});
это работает!
Будьте осторожны с использованием 'self' в блоках. Это может привести к удержанию циклов и, следовательно, утечек памяти. Как правило, лучше использовать слабый собственный шаблон при использовании асинхронных блоков. – Tim
ОК, я думаю, что хочу, еще раз спасибо. :-) –
- 1. UITableView reloadData не работает
- 2. UITableView reloadData не работает
- 3. UITableView reloadData не работает
- 4. iOS: UITableView reloadData не работает
- 5. UITableView не переполняет reloadData
- 6. UITableView reloadData не перезагружается
- 7. iOS uitableview reloadData не совсем работает
- 8. UITableView reloadData не работает должным образом
- 9. iPhone, почему не работает UITableView reloadData?
- 10. UITableView reloadData не работает на события крана
- 11. UITableView reloadData не работает при нажатии кнопки
- 12. ИОС: UITableView reloadData не работает, пока свиток
- 13. reloadData не работает для UITableView dataSource?
- 14. UITableView reloadData не работает в прошивкой
- 15. UITableView reloadData не работает без строк
- 16. UITableView reloadData
- 17. tableView reloadData не работает
- 18. UITableView reloadData не перезагружает таблицу, но UITableView reloadSections работает
- 19. UITableView reloaddata не перезагружается немедленно
- 20. tableView reloadData не работает
- 21. , когда uitableview вызывает reloaddata
- 22. UITableView не перезагружается при reloadData
- 23. UITableView reloadData - cellForRowAtIndexPath не активирован
- 24. UITableView ReloadData confusion
- 25. таблица reloadData не работает
- 26. UITableView reloadSections перед reloadData
- 27. iOS UITableView insertRowsAtIndexPaths reloadData
- 28. Что такое [UITableView reloadData]?
- 29. UITableView weird reloadData issue
- 30. Невозможно reloaddata (UITableView)
Вы действительно вызываете 'reloadData' в основном потоке? Все действия пользовательского интерфейса должны быть вызваны из основного потока, иначе произойдет непредвиденное. – Tim
Большое спасибо. Я понял причину, как вы объяснили, и я обнаружил, что метод получения сообщения вызывается дочерним потоком и. Так измените мой исходный код как: –