gpt4 book ai didi

ios - 在 Swift 中更新 Parse currentUser() 的缓存副本

转载 作者:行者123 更新时间:2023-11-28 08:53:06 25 4
gpt4 key购买 nike

我有一个 ios 应用程序,我已经通过 Parse 实现了 Facebook 登录。第一次试用时一切正常。

  • 我可以通过 Facebook 登录
  • 我的详细信息存储在 PFUser.currentUser() 中
  • 我能够从 Graph API 中提取信息

但是当我注销 (PFUser.logOut()) 并从 Parse 类中删除用户行并从 Facebook 中删除应用程序时,事情开始成为问题。

以下方法仍然显示用户已登录并通过身份验证。

if let user = PFUser.currentUser() {
if user.isAuthenticated()

我猜这是因为当前用户仍在使用用户的缓存副本。我尝试执行

do
{
try PFUser.currentUser().fetch()
}
catch{
print("User refreshed")
}

但它不会刷新 currentUser() 并给出错误。我怎样才能刷新 PFUser.currentUser(),以便它不再说用户已登录并经过身份验证,即使它不是

谢谢

最佳答案

我在这里得到了答案,

Swift & Parse - PFUser currentUser never equals nil

我一直在努力解决注销问题,我相信我终于破解了它!

无论我做什么,当我使用“PFUser.logOut()”时都不会将“PFUser.currentUser()”设置为 nil,但它会将“PFUser.currentUser()!.username”设置为 nil。 .

因为这个我用了

var currentUser = PFUser.currentUser()!.username

作为一个全局变量来跟踪用户是否登录。

在我的登录/首页我添加了

覆盖函数 viewDidAppear(动画: bool ){

if currentUser != nil {

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

}

}

最后在我使用的注销按钮上

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "logout" {

PFUser.logOut() //Log user out

currentUser = PFUser.currentUser()!.username //Reset currentUser variable to nil

}

}

关于ios - 在 Swift 中更新 Parse currentUser() 的缓存副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33717185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com