我想向我的应用程序添加一个条件,该条件基于用户在过去一周内是否使用过该应用程序。最好的方法是什么?我在某处读到我应该使用 NSUseDefaults,但不确定如何使用,我只是对此很陌生。
谢谢。
我想向我的应用程序添加一个条件,该条件基于用户在过去一周内是否使用过该应用程序。最好的方法是什么?我在某处读到我应该使用 NSUseDefaults,但不确定如何使用,我只是对此很陌生。
谢谢。
读:
self.lastRun = [NSDate distantPast];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"MyAppLastRun"]) {
self.lastRun = [defaults objectForKey:@"MyAppLastRun"];
}
写:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:self.lastRun forKey:@"MyAppLastRun"];
[defaults synchronize];
比较:
if ([[NSDate date] timeIntervalSinceDate:self.lastRun] > X) {
}
注意:假设 NSDate *lastRun 的 self 有一个属性。
是的,只需NSUserDefaults
像这样粘贴一些东西:
// When app comes to foreground:
NSDate *lastStartDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"lastStartDate"];
if (!lastStartDate) {
// Never launched
} else if ([lastStartDate timeIntervalSinceNow] < -(60. * 60. * 24. * 7.)) {
// Do whatever you want if they've not used in past week
}
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"lastStartDate"];
您可以在 : 中设置一个值,applicationWillTerminate
例如:
NSUserDefaults *ud=[NSUserDefaults standardUserDefaults];
[ud setObject:[NSDate date] forKey:@"lastUsed"];
检索值:
NSDate *date=(NSDate*)[[NSUserDefaults standardUserDefaults]objectForKey:@lastUsed"];
然后比较日期。