我有下面的代码根据存储在NSDefault变量checkOutTime
中的值初始化NSTimer。NSTimer在触发之前触发
假设如果我将此变量中的时间更改为过去的时间(当前时间之前),并重新初始化定时器,它会自动触发并调用回调方法ForceCheckOut()
。
我需要定时器才会在给定的启用日期启动。
func InitilizeAutoCheckOut(isExtendedCheckout:Bool)
{
let checkOutTime = self.defaults.valueForKey("checkOutTime") as! String
print(checkOutTime)
if !checkOutTime.isEmpty
{
let date = self.StringToDate(checkOutTime, IsExtendedCheckout: isExtendedCheckout)
print(date)
let autoCheckOutTimer = NSTimer(fireDate: date, interval: 24*60*60, target: self, selector: #selector(DashboardViewController.ForceCheckOut), userInfo: nil, repeats: true)
NSRunLoop.mainRunLoop().addTimer(autoCheckOutTimer, forMode: NSDefaultRunLoopMode)
}
}
检查时区为系统时区与否。 –