在 swift iOS 中管理用户登录序列

Posted

技术标签:

【中文标题】在 swift iOS 中管理用户登录序列【英文标题】:Managing user login segues in swift iOS 【发布时间】:2015-06-17 08:17:06 【问题描述】:

我正在尝试为 iPhone 应用程序构建初始用户登录系统。我创建了一个包含所有用户数据的 API。我已经成功地从我的 swift 代码到我的 API 建立了 HTTP 连接,在那里我向用户发送了登录详细信息,API 对用户进行身份验证并将用户数据作为 JSON 发送。

我的故事板中有 2 个视图,如下所示:

我想控制 segue 转换,所以只有当用户成功通过身份验证时它才会转到下一个视图,如果没有,它会停留在同一视图上但在同一视图上输出一条消息 “错误登录详细信息”。

有什么方法可以实现吗?

如果我在我的问题中犯了任何错误,我们深表歉意。如果您需要更多信息来回答问题,请告诉我。

更新:遇到错误!

在进行以下建议的更新后,出现以下错误。任何想法如何解决它们。

我的代码:

错误:

【问题讨论】:

【参考方案1】:

我建议您在用户使用以下代码成功登录后启动视图控制器:

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

这样您可以轻松控制您的导航,如果用户没有输入正确的信息,您可以在 else 部分显示警报,如下代码所示:

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)

        
    

希望这会对你有所帮助。

【讨论】:

非常感谢您的回复。您是否建议我将上述代码放在我的 HTTP 代码的成功部分中。因此,一旦用户被授权并且 JSON 数据被发回,那么在代码中我放置上面的 if-else 语句来更改视图?再次感谢您的帮助。 是的,您可以使用此代码更改视图,不要忘记为下一个视图设置标识符并删除 segue。:) 太棒了!太感谢了。 “StoryBoardName”是我的登录视图的故事板 ID(我在其中输入详细信息),instantiateViewControllerWithIdentifier 是显示成功登录用户详细信息的详细视图的故事板 ID? 您可以将您的故事板名称设为“StoryBoardName”,当我更新到我的答案时,它主要是“主要”,而您 instantiateViewControllerWithIdentifier 是详细视图的故事板 ID。 再次感谢您的帮助。我已经在我的代码中进行了更新,但出现了一些错误。我已经用错误更新了我的问题。能否请您看一下,我将不胜感激。

以上是关于在 swift iOS 中管理用户登录序列的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中管理从移动应用程序登录的用户的会话?

在 socket.io 中管理多个选项卡(但同一用户)

iOS Swift 应用程序:如何知道当前登录的用户总数? [关闭]

如何在 iOS 应用中管理帐户?

Oracle用户管理

Swift 中的 Facebook 登录管理器“表达式不明确”错误