2009-04-29 2 views
0

Я загружаю кучу файлов с iPhone в веб-службу. Я хочу иметь UIAlertView на экране с UIActivityIndicatorView внутри. Я получил это, чтобы нормально работать. Тем не менее, я хочу обновить заголовок UIAlertView по мере загрузки каждого файла. («Загрузка файла 1 ...», «Загрузка файла 2 ...» и т. Д.)Обновление UIAlertView title

Я знаю, что вы не можете просто задать заголовок в цикле с синхронными веб-запросами, так как цикл запуска пользовательского интерфейса будет никогда не вызываются. Я попытался использовать NSTimer, чтобы отключить веб-запросы, но поскольку продолжительность каждого запроса непредсказуема, это не работает. (Сообщение может быть обновлено до того, как запрос действительно будет завершен.)

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

ответ

1

OK вот подход, который я взял, чтобы решить эту проблему:

  1. Написание UIAlertView
  2. Запустить асинхронный веб-запрос, чтобы разместить пункт, установить делегат для себя
  3. В connectionDidFinishLoading: метод, проверьте, есть ли больше статей для публикации. Если есть, обновите заголовок и отпустите другой запрос async. Если нет, отпустите предупреждение.

Это означает, что вы должны поддерживать несколько переменных класса, чтобы отслеживать, какой запрос загружается, но он отлично работает и не требует сложной нити или чего-то еще.

0

Вы попробовали?

alertView.title = @"new title"; 
[alertView setNeedsDisplay]; 

 Смежные вопросы

  • Нет связанных вопросов^_^