在我的应用程序中,我想存储应用程序首次启动的日期。
我在应用程序中使用以下代码:didFinishLaunchingWithOptions 方法
NSDate* today = [NSDate date];
[[NSUserDefaults standardUserDefaults] registerDefaults: @{@"CONSCIENCE_START_DATE" : today}];
NSLog(@"%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"CONSCIENCE_START_DATE"]);
但是每次我启动应用程序时,它都会打印应用程序启动的时间。它不打印我启动应用程序的日期。
我尝试重置模拟器并再次运行代码。仍然没有成功。有人可以指出我代码中的错误吗?
最佳答案
由于您的目标是跟踪用户第一次启动您的应用程序,因此您需要在 application:didFinishLaunchingWithOptions
中执行以下操作:
NSDate *date = [[NSUserDefaults standardUserDefaults] objectForKey:@"CONSCIENCE_START_DATE"];
if (!date) {
// This is the 1st run of the app
date = [NSDate date];
[[NSUserDefaults standardUserDefaults] setObject:date forKey:@"CONSCIENCE_START_DATE"]; // Save date
}
NSLog(@"First run was %@", date);
关于iOS - 无法将 NSDate 存储到 NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17597402/