Как проверить, доступно ли сетевое соединение в iPhone?
-
28-10-2019 - |
Вопрос
У меня есть приложение, в котором у меня есть форма входа в систему, в которой имя пользователя и пароль генерируют код. когда пользователь вводит свое имя пользователя и пароль и нажимает кнопку отправки, он переходит в базу данных API сервера и проверяет, является ли пользователь действительным или нет. Если соединение не установлено, их значения проверяются в базе данных SQLite.
Если в базе данных SQLite подтверждены имя пользователя и пароль, то пользователю разрешено войти в приложение, иначе ему придется зарегистрироваться. Я попробовал следующий код, но теперь не понимаю, куда нужно поместить мой код.
Я проверил и соединение с сервером, и соединение с SQLite. Мой ответ: если пользователь снова и снова входит в систему, имя пользователя и пароль всегда должны сначала проверяться с сервера, а не в базе данных SQLite. Если сервер выключен, имя пользователя и пароль следует проверить из базы данных SQLite.
Это мой код:
родовое словоОбратный вызов выглядит следующим образом:
родовое словоЭто мой контроллер api, где я получаю значения с моего сервера API и вставляю значения в базу данных SQLite:
родовое словоЭто класс, в котором я создаю переменные nsstring своего json-объекта:
родовое словоЕсли мой серверный API, доступный через netconnection, недоступен, то значения моего имени пользователя и пароля должны быть получены и проверены из базы данных.
Решение
Другие советы
Поздно показывать здесь, но лучшее решение для проверки - это достижимость.«Достижимость» была написана Apple как «образец кода», но на сегодняшний день это наиболее полный способ изящной обработки состояния сети.Ознакомьтесь с Руководством по достижимости .
Вот некоторая информация о том, как использовать Reachability: Руководство по достижимости для iOS 4
Я рассмотрел ваш вопрос. Я думаю, вам следует следовать приведенной ниже схеме:
-
Пользователь вводит "Имя пользователя" и "Пароль" в форме входа.
-
Затем сначала проверьте локальную базу данных.
-
Если пользователь существует, он может напрямую войти в систему и получить доступ к приложению.
-
Если пользователя не существует, проверьте его учетные данные на реальном сервере.
-
Если пользователь действителен, введите имя пользователя и пароль в локальную базу данных. Так что в следующий раз он сможет войти напрямую.
-
Если пользователь недействителен, просто дайте сообщение об отказе в доступе.
Теперь для проверки сетевого подключения: Для этого возьмите одно веб-представление (веб-представление будет невидимым). Затем откройте простой веб-сайт, например " http://www.google.com ", а также примените метод делегирования веб-просмотра. .
в методе делегата веб-просмотра:
родовое словониже находится функция "connectionFailed":
родовое словоЗдесь представление connectionView - это еще одно веб-представление. Вы можете просто заменить код на UIAlerView с соответствующим сообщением.