0
我用斯威夫特是新的iOS开发2.1,我想知道是否有可能每天触发一个事件/每月/每年的更新NSUserDefaults的价值每月
这可能吗?我了解到,每当应用程序从内存中释放时,都无法对其执行任何操作。
我也看到了,我可以存储用户最后一次运行该应用程序的价值NSUserDefaults的,当他再次运行
比较它的时候,我碰到这个link运行在来到在一个特定的时间码,不知道这是否与日期也工作与否
提前感谢!
我用斯威夫特是新的iOS开发2.1,我想知道是否有可能每天触发一个事件/每月/每年的更新NSUserDefaults的价值每月
这可能吗?我了解到,每当应用程序从内存中释放时,都无法对其执行任何操作。
我也看到了,我可以存储用户最后一次运行该应用程序的价值NSUserDefaults的,当他再次运行
比较它的时候,我碰到这个link运行在来到在一个特定的时间码,不知道这是否与日期也工作与否
提前感谢!
这是不可能的“火”,只要你请,如果您的应用程序没有运行的事件,但你可以每次它的推出时间肯定检查您的应用程序的情况,并检查有足够的时间是否已经过去做的工作,你想。在应用程序委托的didFinishLaunchingWithOptions()
方法,看在NSUserDefaults
看到上次保存日期,而如果超过一个月过去了,把你想要的任何行动。
注意:如果您不知道,您可以将NSDate
对象直接读入NSUserDefaults
,无需转换。一些示例代码可以帮助您开始:
let defaults = NSUserDefaults.standardUserDefaults()
if let previousDate = defaults.objectForKey("LastSavedDate") as? NSDate {
// compare the last-saved date to now; how much time has passed?
let timePassed = previousDate.timeIntervalSinceNow;
} else {
// no previously saved date; presumably take your action immediately?
}
defaults.setObject(NSDate(), forKey: "LastSavedDate")
感谢TwoStraws的帮助和信息! +1 –