Как проверить, доступно ли сетевое соединение в iPhone?

StackOverflow https://stackoverflow.com/questions/6371887

Вопрос

У меня есть приложение, в котором у меня есть форма входа в систему, в которой имя пользователя и пароль генерируют код. когда пользователь вводит свое имя пользователя и пароль и нажимает кнопку отправки, он переходит в базу данных API сервера и проверяет, является ли пользователь действительным или нет. Если соединение не установлено, их значения проверяются в базе данных SQLite.

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

Я проверил и соединение с сервером, и соединение с SQLite. Мой ответ: если пользователь снова и снова входит в систему, имя пользователя и пароль всегда должны сначала проверяться с сервера, а не в базе данных SQLite. Если сервер выключен, имя пользователя и пароль следует проверить из базы данных SQLite.

Это мой код:

родовое слово

Обратный вызов выглядит следующим образом:

родовое слово

Это мой контроллер api, где я получаю значения с моего сервера API и вставляю значения в базу данных SQLite:

родовое слово

Это класс, в котором я создаю переменные nsstring своего json-объекта:

родовое слово

Если мой серверный API, доступный через netconnection, недоступен, то значения моего имени пользователя и пароля должны быть получены и проверены из базы данных.

Это было полезно?

Решение

родовое слово

Другие советы

Поздно показывать здесь, но лучшее решение для проверки - это достижимость.«Достижимость» была написана Apple как «образец кода», но на сегодняшний день это наиболее полный способ изящной обработки состояния сети.Ознакомьтесь с Руководством по достижимости .

Вот некоторая информация о том, как использовать Reachability: Руководство по достижимости для iOS 4

Я рассмотрел ваш вопрос. Я думаю, вам следует следовать приведенной ниже схеме:

  1. Пользователь вводит "Имя пользователя" и "Пароль" в форме входа.

  2. Затем сначала проверьте локальную базу данных.

  3. Если пользователь существует, он может напрямую войти в систему и получить доступ к приложению.

  4. Если пользователя не существует, проверьте его учетные данные на реальном сервере.

  5. Если пользователь действителен, введите имя пользователя и пароль в локальную базу данных. Так что в следующий раз он сможет войти напрямую.

  6. Если пользователь недействителен, просто дайте сообщение об отказе в доступе.

Теперь для проверки сетевого подключения: Для этого возьмите одно веб-представление (веб-представление будет невидимым). Затем откройте простой веб-сайт, например " http://www.google.com ", а также примените метод делегирования веб-просмотра. .

в методе делегата веб-просмотра:

родовое слово

ниже находится функция "connectionFailed":

родовое слово

Здесь представление connectionView - это еще одно веб-представление. Вы можете просто заменить код на UIAlerView с соответствующим сообщением.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top