[NSCFString timeIntervalSinceReferenceDate]:发送到实例的无法识别的选择器

时间:2011-06-25 17:33:48

标签: ios nsdate nscalendar nstimeinterval

我想比较两个日期之间的差异,但是使用下面的代码我收到错误“[NSCFString timeIntervalSinceReferenceDate]:无法识别的选择器发送到实例。”代码有什么问题?

NSDate *dateAdded=[eventDictionary objectForKey:@"dateAdded"];
NSDate *validUntilDate=[eventDictionary objectForKey:@"validUntilDate"];
NSDateComponents *sometimeAgo = [[NSCalendar currentCalendar] components:(NSSecondCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit) fromDate:dateAdded  toDate:validUntilDate  options:0]; 

2 个答案:

答案 0 :(得分:8)

看起来dateAdded和/或validUntilDate实际上是字符串而不是日期。也许它们是代表日期的字符串,但毕竟是字符串。

答案 1 :(得分:4)

您需要使用NSDateFormatter将日期字符串转换为实际的NSDates。