在我的应用程序中,我有一些功能:login,getNews,getWeather。最后两个函数只能在用户登录时执行。如果用户已经登录,我不想每次登录,所以如果两个最后的函数返回一个未登录的错误,我想登录,然后执行需要登录的函数的队列。 这只是一个例子,实际的代码要长得多,而依赖于登录的函数不止两个。我想知道处理这种情况的最佳解决方案。仅在登录时才获取数据
1
A
回答
0
0
当用户登录后,您可以将其凭证存储在钥匙串中。 看看这里一个简短的教程:
然后,您可以每次检查是否存储了自己的凭证并自动登录,然后执行getNews和getWeather函数。
0
要保存您的应用程序启动之间的数据,你可以尝试任何以下两种方法:
1)很简单的解决办法是在你的UserDefaults用户数据存储在用户词典的形式。前者为 。 NSUserDefaults.standardUserDefaults().setObject(userDict, forKey: @"User Dictionary")
。如果你的userDict很大或很难制作,这可能会很痛苦。
2)另一种解决方案可以是使用存档器存储用户数据。您可以从这个link制作您的自定义存档器。
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")
感谢
相关问题
- 1. 仅在登录后才显示内容
- 2. SQL登录仅在访问登录页面后才有效
- 3. Node.js使用http post登录并在登录后获取数据
- 4. 仅当从laravel传递数据到json时才获取值
- 5. 如何仅在用户登录时才使AJAX工作? -rails
- 6. 夹层仅在登录时才显示页面
- 7. Django的FilteredSelectMultiple小部件仅在登录时才起作用
- 8. 获取数据库错误而登录
- 9. PHP卷曲登录和获取数据
- 10. 获取登录的用户数据
- 11. 登录后Firebase无法获取数据
- 12. 仅在整数时才获取查询字符串
- 13. 如何仅在第一次获取数据时才发送http请求?
- 14. Firebase数据库侦听器仅在更改时才会获取值
- 15. 在登录时获取userAccount的值
- 16. 仅当用户登录时才返回关系?
- 17. 仅当有效登录时才访问页面
- 18. IsInRole仅当用户登录时才有效
- 19. 仅当某人登录时才显示div标签
- 20. 从SQL Server 2008数据库获取上次登录时间
- 21. Facebook图形API获取数据时,用户没有登录
- 22. 从SQL数据库获取信息并获取登录错误
- 23. Android登录活动仅在启动时显示Google登录
- 24. 允许在登录时仅登录一个用户
- 25. 仅在空闲时退出登录
- 26. 获取需要登录后才能登录的网站的信息来源
- 27. 仅在调试时才会读取App.config
- 28. 用户登录时从PHP数据库中获取具体数据
- 29. 仅在取出一些数据后才能读取文本框
- 30. Spring Security仅在成功登录后才会显示主页
可以使用dispatch_group为Web服务调用序列。 – vivekDas