ユーザーが過去 1 週間にアプリを使用したかどうかに基づく条件をアプリに追加したいと考えています。それを行う最善の方法は何ですか?NSUseDefaults を使用する必要があることをどこかで読みましたが、方法がわかりません。これは初めてです。
ありがとう。
ユーザーが過去 1 週間にアプリを使用したかどうかに基づく条件をアプリに追加したいと考えています。それを行う最善の方法は何ですか?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 のプロパティを想定しています。
:のように値を設定できますapplicationWillTerminate
:
NSUserDefaults *ud=[NSUserDefaults standardUserDefaults];
[ud setObject:[NSDate date] forKey:@"lastUsed"];
値を取得します。
NSDate *date=(NSDate*)[[NSUserDefaults standardUserDefaults]objectForKey:@lastUsed"];
次に、日付を比較します。
ええ、次のように何かを貼り付けて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"];