即使用户从手机中删除应用程序,用户也会有条件地将用户重定向到下一个viewcontroller?

时间:2015-12-18 07:02:54

标签: ios swift parse-platform uiviewcontroller uinavigationcontroller

方案: 用户登录应用程序第1页(第一个ViewContoller)上的应用程序。他去了第2页(第二个ViewContoller)。在第2页,有一个“是”和“否”按钮。用户按“是”。他去了第3页(第三个ViewContoller)。在此之后,每当用户回来时,我希望他直接被重定向到page3,而不会看到page2,即使用户从他的手机中删除该应用并重新安装它。如果用户没有删除应用程序并且我尝试了它并且它有效,Lory已经给了我一个暗示如何使用NSUserDefaults实现此功能的提示:

How do I conditionally select the next view controller to navigate to?

现在如果用户从手机上卸载应用程序该怎么办?我怎么能让应用程序记住用户之前已经在那里,并且他应该在第1页之后立即重定向到page3?

1 个答案:

答案 0 :(得分:0)

我终于找到了实现它的方法,现在就是这样。我使用query8查看用户是否曾登录过并在Parse中记录是或否答案。如果没有用户记录的答案,即如果yesorno?[" yesno"] == nil ,那么我让他们转到第2页。如果用户记录了是或否答案但尚未删除应用程序,我使用 NSUserDefaults.standardUserDefaults()。boolForKey(" usedSaidYes")== true 来检查(我想我不需要这部分,因为无论如何我都可以去解析和获取信息,但我现在懒得改变代码!),接下来,如果用户已经记录了答案&#34 ;是"然后从他的手机中删除了应用程序,并重新安装了它,因为我在Parse中记录了他的答案,当时他推动了"是"按钮,现在我可以使用 else if yesorno?[" yesno"] as!字符串=="是" 部分,以查看用户是否已经有一些已记录的答案并将其重定向到第3页。希望有一天能帮助别人!

        if(FBSDKAccessToken.currentAccessToken() != nil) {
            userName = (PFUser.currentUser()?.objectId)!
            print("1111111111111111111111")
            var query8 : PFQuery = PFUser.query()!
            query8.getObjectInBackgroundWithId(userName, block: { (object: PFObject?, error: NSError?) -> Void in
                let yesorno = object
                if yesorno?["yesno"] == nil {
                    print("222222222222222222222")
                    let page2 = self.storyboard?.instantiateViewControllerWithIdentifier("page2ViewController") as! page2ViewController
                    let page2Nav = UINavigationController(rootViewController: page2)
                    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
                    var window = UIApplication.sharedApplication().keyWindow
                    window?.rootViewController = page2Nav
                } else if NSUserDefaults.standardUserDefaults().boolForKey("userSaidYes") == true {
                    print("3333333333333333333333333")
                    var page3ViewController: page3ViewController = self.storyboard?.instantiateViewControllerWithIdentifier("page3ViewController") as! page3ViewController
                    self.presentViewController(page3ViewController, animated: true, completion: nil)
                } else if yesorno?["yesno"] as! String == "yes" {
                    print("44444444444444444444444")
                    var page3ViewController: page3ViewController = self.storyboard?.instantiateViewControllerWithIdentifier("page3ViewController") as! page3ViewController
                    self.presentViewController(page3ViewController, animated: true, completion: nil)
                }
            })
        }