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

Nim*_*sri 4 nsdate nscalendar nstimeinterval ios

我想比较两个日期之间的差异,但是使用下面的代码我收到错误"[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]; 
Run Code Online (Sandbox Code Playgroud)

alb*_*amg 8

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

  • 如果`objectForKey:`返回的对象不是`NSDate`,则强制转换不会使它成为一个. (6认同)