2015-06-17 2 views
0

Я пытаюсь создать начальную систему входа пользователя для приложения iPhone. Я создал API, который содержит все пользовательские данные. Я успешно сделал HTTP-соединение из моего быстрого кода в свой API, где я отправил данные для входа в систему, API аутентифицирует пользователя и отправляет данные пользователей как JSON.Управление входами пользователя в swift iOS

У меня 2 взгляды в мою раскадровку, как показано ниже:

enter image description here

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

Есть ли способ, которым это может быть достигнуто?

Извините, если я допустил ошибку в пределах моего вопроса. Если вам нужна дополнительная информация для ответа на вопрос, пожалуйста, дайте мне знать.

ОБНОВЛЕНИЕ: произошли ошибки!

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

Мой код:

enter image description here

Ошибка:

enter image description here

ответ

2

Я предлагаю вам Инициировать вид контроллера, когда пользователь успешно вошел в его ниже код:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewControllerWithIdentifier("nextViewController") as! UIViewController 
self.presentViewController(vc, animated: true, completion: nil) 

Таким образом, вы можете легко контролировать вашу навигацию и если пользователь не ввел правильную информацию, то вы можете показать предупреждение в еще части, как показаны на рисунок код:

dispatch_async(dispatch_get_main_queue()) { 

     if user successfully logIn { 

      let storyboard = UIStoryboard(name: "Main", bundle: nil) 
      let vc = storyboard.instantiateViewControllerWithIdentifier("nextViewController") as! UIViewController 
      self.presentViewController(vc, animated: true, completion: nil) 


     } else { 

      var alert = UIAlertController(title: "Alert", message: "Please enter correct Information", preferredStyle: UIAlertControllerStyle.Alert) 
      alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: nil)) 
      self.presentViewController(alert, animated: true, completion: nil) 

     } 
    } 

Надеется, что это поможет.

+0

Большое спасибо за ответ. Вы порекомендовали бы я поместить вышеуказанный код в часть успеха моего HTTP-кода. Итак, как только пользователь авторизовался и данные JSON отправляются обратно, тогда в коде я помещаю вышеприведенную инструкцию if-else для изменения вида? Еще раз спасибо за помощь. – Skywalker

+0

Да, вы можете использовать этот код для изменения вида и не забудьте установить для вас следующий идентификатор и удалить segue. :) –

+0

Отлично! Спасибо большое. Является ли «StoryBoardName» идентификатором раскадровки моего окна входа в систему (где я ввожу детали), а instantiateViewControllerWithIdentifier - это идентификатор раскадровки подробного представления, в котором будут показаны успешные данные пользователя входа в систему? – Skywalker

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