【问题标题】:How to segue based on the PFRole of the current user如何根据当前用户的 PFRole 进行 segue
【发布时间】:2015-07-14 05:03:33
【问题描述】:

我有一个应用程序,其中有 2 个角色,“管理员”和“员工”。在注册时,我在注册按钮中设置了 segue,它会自动对员工或管理员视图控制器执行正确的 segue。但是在创建并注销用户并尝试重新登录后,我如何设置条件 if else 语句来查询当前用户的角色并相应地执行正确的 segue。提前致谢。这是我在初始视图控制器/登录屏幕上的代码。

override func viewDidAppear(animated: Bool) {

//need to query current users role...and then if else, and segue to either Admin Home or Employee Home



     var roleQueryClass = PFQuery(className: "_Role")
     var roleQuery = PFRole.query()
     roleQuery?.whereKey("name", equalTo: "Admin")
     roleQuery?.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in

  if let role = objects {

    for object in role {

      if let role = object as? PFRole {



        if PFRole() == PFUser.currentUser() {

          self.performSegueWithIdentifier("toHomeFromSignUp", sender: self)

        } else {

          self.performSegueWithIdentifier("toEmployeeHome", sender: self)

【问题讨论】:

    标签: swift parse-platform pfquery


    【解决方案1】:

    在注册时将角色保存在 NSUserDefaults 中,并在登录时检查 NSUserDefaults 中的值,并相应地进行选择。

    【讨论】:

    • 我不熟悉 NSUserDefaults。生病必须刷上它。感谢您的提示。
    • 嘿,安妮塔,我正在尝试你所说的......也许你可以帮我完成......我在 userDidSignupInBackGroundWithBlock 中有以下代码试图设置 NSUserDefault......然后我的登录屏幕 我正在尝试获取我设置的密钥....这对您来说是否合适?我不能让它继续到正确的那个。 let defaultName = "Admin" let defaults = NSUserDefaults.standardUserDefaults() defaults.setObject("Role", forKey:defaultName) defaults.synchronize()
    • 这是我在 ViewDidAppear 下的登录 Viewcontroller 中的代码,试图找到相应的密钥并进行 segue。 if (PFUser.currentUser() != nil) { let defaults = NSUserDefaults.standardUserDefaults() if let name = defaults.stringForKey("Admin") { self.performSegueWithIdentifier("toHomeFromLogin", sender: self) }else { self. performSegueWithIdentifier("toEmployeeHome", sender: self) } }
    • 不完全确定我可以在哪里设置这个......当我在注册方法中拥有它时,我的应用程序将崩溃......你能不将 PFUser 设置为对象吗? let user = PFUser.currentUser() let defaults = NSUserDefaults.standardUserDefaults() defaults.setObject(user, forKey:"Admin") defaults.synchronize()
    • 在应用程序委托中设置 NSuserDefaults,在您的登录视图控制器中更新时设置并同步。
    猜你喜欢
    • 2013-11-11
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 2023-01-11
    • 2020-01-27
    • 2019-03-02
    相关资源
    最近更新 更多