Как правильно удалить строку таблицы iPhone с помощью асинхронного вызова сервера? - PullRequest
4 голосов
/ 20 июля 2011

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

  • Какое поведение можно использовать в UITableView / UITableViewCell, чтобы указать, что выполняется вызов сервера? Я думаю, что это может быть сложно с ограниченной недвижимостью.
  • Разрешено ли пользователю удалять другие строки во время вызова удаления?
  • Какое поведение рекомендуется для ошибок? Отображение UIAlertView?

1 Ответ

3 голосов
/ 20 июля 2011
  1. Измените вспомогательное представление ячейки на UIProgressView, чтобы показать, что какое-то действие выполняется, и установите networkActivityIndicatorVisible.
  2. , так как происходит все взаимодействие с пользовательским интерфейсом.В главном потоке вы можете разрешить пользователю удалять несколько строк одновременно.Просто отправьте запрос в фоновом режиме и не позволяйте этому пользователю проводить пальцем и удалять эту строку, пока операция не будет завершена.
  3. Для быстрого и грязного решения UIAlertView будет работать.Более элегантным решением было бы какое-то представление, которое выпадает из строки состояния с подробностями, или, возможно, добавить кнопку в ячейку, которая, когда пользователь нажимает на нее, дает им причину сбоя.Здесь есть несколько решений.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...