Вызов делегата очень медленный в приложении ipad - PullRequest
0 голосов
/ 02 октября 2011

У меня есть представление, состоящее из двух табличных представлений (пользовательский разделенный вид), разделенных на разделенное изображение. Когда пользователь щелкает элемент в правом представлении, появляется модальное представление, и пользователь редактирует некоторые значения. После того как он щелкнет «Отправить», отредактированные значения должны быть обновлены в соответствующих столбцах табличных представлений с обеих сторон после того, как серверная веб-служба подтвердит успешность.

Я вызываю метод делегата в пользовательском разделенном представлении, чтобы выполнить обновление. Вызов делегата очень медленный, поэтому в представлении таблицы у меня есть индикатор активности, но он не отображается на экране во время обновления. Обновленные данные появляются корректно через некоторое время. Если я прокомментирую код выборки, через некоторое время также появится индикатор активности. Поэтому очевидно, что вызов делегата очень медленный. Пользователь смущается, если мы не показываем какую-либо активность, происходящую на экране во время перезагрузки таблицы.

  1. Почему индикатор активности, добавляемый в представления таблицы, не отображается?
  2. Есть ли лучший подход, чем тот, который я сделал, чтобы пользователь знал, что какая-то операция происходит в фоновом режиме, чтобы он мог ждать?

1 Ответ

2 голосов
/ 02 октября 2011

Не ждите в делегате. Это заблокирует пользовательский интерфейс и индикатор активности. Немедленно вернитесь из метода делегата и воспользуйтесь другим асинхронным сетевым обратным вызовом, чтобы завершить обновление элемента tableview.

...