UIAlertView внутри NSOperation не является модальным в iPhone - PullRequest
0 голосов
/ 26 марта 2009

Итак, я пытаюсь создать проверку, которая пытается подключиться к WWW. когда это терпит неудачу, это должно тогда повторить несколько раз прежде, чем приложение сдается и закрывается. Каждый раз, когда он повторяет попытку, пользователь запрашивает UIAlertView с опциями «Повторить» или «Отмена».

Так вот в чем проблема.

У меня есть цепочка действий в NSOperationQueue, все операции должны завершиться сбоем без соединения. Я использую очередь NSoperation, чтобы пользовательский интерфейс не блокировался, а данные обрабатывались в фоновом режиме.

внутри NSInvocationOperation мой метод попадет в [AlertView show], однако это не совсем модально.

Моя операция затем возвращается и продолжается по цепочке NSOperations, поскольку, кажется, нет никакого способа вернуть их со значением Error, чтобы остановить дополнительную обработку. В конце концов, пользовательский интерфейс догоняет, отображает Modal AlertView, но у меня нет контекста того, что произошло.

Я уверен, что это общее требование. есть идеи как этого добиться?

1 Ответ

2 голосов
/ 26 марта 2009

Если я правильно вас понимаю, вам нужна модальная версия UIAlertView, но только модальная в вызывающем потоке / NSOperation? Несколько проблем с этим:

  • Вы, вероятно, должны вызывать операции интерфейса только из основного потока (легко адресуемые с помощью executeSelectorOnMainThread:)
  • Модальные диалоги на самом деле не являются частью ОС; вам нужно решить это программно.
...