2015-06-17 48 views
0

我正在嘗試爲iPhone應用程序構建一個初始用戶登錄系統。我創建了一個保存所有用戶數據的API。我已經成功地從我的swift代碼創建了一個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」是我的登錄視圖(我輸入詳細信息)的故事板ID,而instantiateViewControllerWithIdentifier是詳細信息視圖的故事板ID,其中成功登錄用戶的詳細信息會顯示出來嗎? – Skywalker