我正在用一小段代码比较 date1 和 date2,并收到崩溃通知。
我用这个在 NSUserDefaults 中得到 date1:
NSDate *date1 = [[NSUserDefaults standardUserDefaults]
objectForKey:@"date1"];
NSDate *date2 = [[NSDate alloc] init];
if (fabs([date2 timeIntervalSinceDate:date1]) < 60)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"60 seconds or less" message:@"Text" delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil];
[alert show];
return;
}
我像这样将 date1 存储在 NSUserDefaults 中:
NSDate *date1 = [[NSDate alloc] init];
[[NSUserDefaults standardUserDefaults] setObject:date1 forKey:@"date1"];
[[NSUserDefaults standardUserDefaults] synchronize];
应用程序崩溃,提示 -[__NSCFString timeIntervalSinceReferenceDate]:无法识别的选择器已发送至实例。有人有什么想法吗?
谢谢!
最佳答案
要存储日期,请使用:
NSDate *myDate = [NSDate date];
[[NSUserDefaults standardUserDefaults] setObject:myDate forKey:@"myDateKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
要得到它,请使用:
NSDate *myDate = (NSDate *)[[NSUserDefaults standardUserDefaults] objectForKey:@"myDateKey"];
关于objective-c - 在 NSUserDefaults 中存储日期抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13931186/