2016-10-04 2 views
0

У меня есть следующая реализация в моем приложении:
- Список тем, которые следует использовать с помощью своих идентификаторов.
- Система, которая повторяет соединения, когда они терпят неудачу из-за отказа интернета/отказа сервера.Как следует «очередь» на iOS с AFNetworking/NSURLConnection

Предположим, что пользовательские кнопки 3 быстро заходят по кнопкам.
Для каждого из кранов NSURLConnection начинает назначать этому пользователю то, что тема . Как к этому нужно обратиться с учетом следующих случаев, которые могут возникнуть:

A) Все 3 соединения не работают. Все 3 нужно повторить, но у каждого есть другой параметр - идентификатор темы. B) Только 2 соединения не работают, третий успешно завершается.
C) Первое соединение завершается с ошибкой, но после нажатия пользователем кнопки unfollow, которая также терпит неудачу.

По ошибке, в данном случае я имею в виду, что появляется всплывающее окно, которое запрашивает у пользователя повторную попытку.
Это произошло потому, что NSURLConnection получил 404 или вышло из строя.

+0

Это, кажется, очень широкий вопрос, а не проблема программирования, а скорее выбор дизайна ... – jcaron

ответ

2

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

В каждом случае начните просмотр изменений достижимости, затем повторите попытку, когда доступность скажет, что запрос может быть успешным.

+0

Благодарим за отзыв. Всплывающее окно сообщит пользователю, что его интернет не работает (если это так) или что сервер выключен. Приложение отображает весь его интерфейс на основе данных, загружаемых с сервера, поэтому, если соединение не работает, пользователю не должно быть смысла использовать приложение. –

+0

Мое мнение состояло в том, что у пользователя нет причин отклонять диалог. Это дополнительный кран, который не дает вам никакой пользы или пользователю. Если вы покажете это сообщение в представлении, которое скользит вниз под панелью меню, вы можете сдвинуть его вправо назад, когда сеть вернется, и пользователь все еще будет информирован о проблеме без необходимости нажимать на экран. – dgatwood

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