在登录我的应用程序时,我从特定用户的BackEnd API获得当前用户登录有效的时间 [“liveTime”]。我将此liveTime(参数)保存到NSUserDefaults。
我的要求是当liveTime变为0时再次显示登录页面。如果该特定用户杀死应用程序并且liveTime大于0,它将在登录后显示默认页面。
请分享您的经验,如何做或解决此类问题的最佳做法是什么。如果有人已经完成,请分享代码段。
答案 0 :(得分:0)
也许这可以帮到你。
func afterDelay(seconds: Double, closure: () -> ()) {
let when = dispatch_time(DISPATCH_TIME_NOW, Int64(seconds * Double(NSEC_PER_SEC)))
dispatch_after(when, dispatch_get_main_queue(), closure)
}
调用函数
self.afterDelay(4) {
// Write what you want to happen after 4 sec. You can increase the number
self.dismissViewControllerAnimated(true, completion: nil)
}
答案 1 :(得分:0)
解决方案是跟踪上次登录时间戳的 NSUserDefaults 以及从服务器检索的最后最长实时时间(除非它必须在那个时刻获取[因为与服务器通信的滞后而不合适的事情])。
然后,在您的初始控制器的viewDidLoad
或您的AppDelegate中(选择是您的)检查该时间是否在允许的最大值之后并相应地继续。
<强>更新强>
最佳做法:
1.-添加某种等待页面,让用户等待,直到您从服务器检索数据。
2.-收到该数据后,检查 NSUserDefaults 中保存的时间戳,然后继续登录或欢迎页面
3.-如果用户登录,则更新 NSUserDefaults
中的时间戳