在我的应用程序中,我有一些功能:login,getNews,getWeather。最后两个函数只有在用户登录时才能执行。如果用户已经登录,我也不想每次都登录,所以如果两个持续函数返回一个未登录的错误我要登录然后执行需要登录的函数队列。 这只是一个例子,真正的代码更长,依赖登录的功能超过两个。我想知道管理这种情况的最佳解决方案。
答案 0 :(得分:0)
例如,您可以存储在UserDefaults
登录用户的状态。并根据此调用您想要的任何功能。
答案 1 :(得分:0)
当用户登录后,您可以将其凭证存储在钥匙串中。 在这里查看简要教程:
然后,您可以每次检查是否存储了他的凭据并自动登录,然后执行getNews和getWeather功能。
答案 2 :(得分:0)
要在应用启动之间存储数据,您可以尝试以下两种方法之一:
1)非常简单的解决方案是以用户词典的形式将用户数据存储在UserDefaults中。
对于前NSUserDefaults.standardUserDefaults().setObject(userDict, forKey: @"User Dictionary")
。如果您的userDict很大或很难制作,这可能会很痛苦。
2)另一种解决方案可以是,使用归档器来存储用户数据。您可以通过此link制作自定义归档程序。
答案 3 :(得分:0)
因此,当用户成功登录时使用NSUserDefaults
已记录value
= 1
实施例
使用该代码添加prefs
。
let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
set
object
1
内 let logged = 1
prefs.setObject(logged, forKey: "logged")
后成功登录。
logged
如果not logged
或 if prefs.valueForKey("logged") as! Int == 1 {
}else{
// go login
}
显示登录信息
您可以在项目
中的任何地方添加以下检查记录的代码
logout
对于use
,您可以 let logged = 0
prefs.setObject(logged, forKey: "logged")
;
CSRF
由于