为什么这个快速的代码仍然会执行segue?

时间:2016-07-31 07:23:16

标签: ios swift

我有一个条件segue设置,它将按以下方式执行segue:

override func viewDidAppear(animated: Bool) {

        if PFUser.currentUser() != nil{ //if the user is logged in previously


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

            print(PFUser.currentUser()?.username)


        }

即使从数据库中删除所有用户(Parse),仍会执行segue。我不认为问题在于这个特定代码的语法,但有没有人有任何想法可能导致这个?

1 个答案:

答案 0 :(得分:3)

PFUser.currentUser()不了解您的数据库中的用户。 当您通过解析ios SDK登录Parse时。解析IOS SDK会保存磁盘上的currentUser实例,当您指定PFUser.currentUser()时,解析IOS SDK会检查用户之前是否已登录(通过检查它是否存储在磁盘上)。如果你想要PFUser.currentUser()返回nil你必须调用PFUser.logout()函数。此功能将清除当前登录的用户。