Как предотвратить создание нескольких кликов несколькими операциями NSOperation - PullRequest
0 голосов
/ 08 февраля 2012

Я использовал Прекрасный совет Маркуса Зарры о том, как выполнять асинхронную загрузку с использованием NSURLConnection и NSOperation.Я привязал нажатие кнопки к этому NSOperationg.

Вопрос: как мне запретить пользователю спамить кнопку и снимать много операций NSO, выполняющих одну и ту же загрузку снова и снова.

Iесть две проблемы:

a) Установка глобальной переменной, вероятно, не очень хорошая идея.Что произойдет, если приложение будет приостановлено с включенным флагом?

b) Отключение кнопки при первом нажатии также, вероятно, является плохой идеей.Если что-то пойдет не так с моим кодом, кнопка может остаться отключенной.

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

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

Спасибо.Я посмотрел, и это не похоже на обман.Если это так, я прошу прощения.

1 Ответ

0 голосов
/ 08 февраля 2012

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

...