У меня есть пользовательская ячейка, содержащая веб-представление. Дело в том, что я хотел бы только вызвать запрос на загрузку URL-адреса один раз для веб-представления. Сейчас я загружаю запрос в cellForRowAtIndex: и, конечно, это вызывает многократный запрос. Как я могу убедиться, что запрос сделан только один раз и что является наиболее оптимальным способом для этого?UIWebview в UITableViewCell
ответ
Поддержание структуры данных для хранения ответов от веб-запроса позволит решить этот сценарий. скажем, для indexpath
с первого взгляда в структуре данных (NSMutableArray
будет более подходящим), поскольку вы ищете данные в первый раз, вы не найдете их, а затем получите ответ &, который хранит его в структуре данных. Затем второй раз, когда ячейка на том же indexpath
вы просматриваете в структуре данных, вуаля на этот раз вам не нужно делать запрос.
Для простоты я использую NSMutableDictionary
имени responseData
- инициировать его внутри
viewDidLoad
в запросе
cellForRowAtIndexPath
UITableViewCell *cell = //deque the cell NSString *responseKey = [NSString stringWithFormat:"%d,%d", indexPath.section,indexPath.row]; NSString *htmlData = responseData[responseKey]; if(htmlData == nil) { htmlData = //whatever the way do your request, put the response in the htmlData. as you are doing asynchronous loading of the web-request, set the cell's webView in the completion. NB:: do gui related work on gui/main thread. responseData[responseKey] = htmlData; } //set the htmlData to your, cell's webView
для получения справки по содержанию html и 'UIWebView' можно посмотреть в [this] (http://stackoverflow.com/questions/992348/reading-html-content-from-a-uiwebview) –
- 1. Добавление UIWebView в UITableViewCell
- 2. UIWebView в пользовательском UITableViewCell
- 3. Марка UIWebView часть UITableViewCell
- 4. UIWebView внутри UITableViewCell
- 5. Создайте richtext uitableviewcell с uiwebview
- 6. UITableViewCell Развернуть Высота UIWebview Динамически
- 7. UIWebView по проблеме рисования UITableViewCell
- 8. Определить высоту содержимого UIWebView (встроенный в UITableViewCell)
- 9. UIWebView не отображается в UITableViewCell - iOS
- 10. Проблема прокрутки при использовании UIWebView в UITableViewCell
- 11. Вычислить высоту UITableViewCell с UIWebview в iOS
- 12. UIWebview и UIView с автозапуском в uitableviewcell
- 13. iPhone UITableViewCell с UIWebView внутри: проблема выбора
- 14. Как перемещаться по UIWebView при нажатии UITableViewCell?
- 15. Высота установки для UITableViewCell с UIWebView внутри
- 16. Цепочка ответчика (UIWebView внутри UItableViewCell) Objective-C
- 17. Динамическая высота UIWebView и изменение размера UITableViewCell
- 18. Touch против прокрутки в UIWebView встроен в UITableViewCell
- 19. Как добавить прокручиваемый UIWebView в UITableViewCell в iOS 3.x?
- 20. Загрузите UIWebView в UITableViewCell и сделайте высоту UITabViewCell в соответствии с содержанием UIWebview
- 21. UIWebView переопределяет события касания в моем подклассе UITableViewCell
- 22. Рассчитать высоту UIWebview в UITableViewCell с twitter embed tweet
- 23. по щелчку UITableViewCell, UIWebView не в состоянии загрузить веб-страницу
- 24. Использование UIWebView в UITableViewCell для отображения динамического содержимого
- 25. Как добавить видео youtube в пользовательский UITableViewCell с помощью UIWebView
- 26. Вставка UIWebView в UITableViewCell для воспроизведения анимированных GIF
- 27. Динамическая высота UITableViewCell для ячейки, которая содержит UIWebView в iOS
- 28. Кликабельные ссылки в UITableViewCell
- 29. UIWebView внутри UITableViewCell, обнаружена связь, но не доступна.
- 30. UITableViewCell с UIWebview, который настраивает высоту на размер контента
сделал только один раз или просьбу, когда клетка видна пользователю? –
Или вы можете иметь флаг bool и установить его NO, после первого раза в ячейке для метода индекса rowat. –