我将一个日期(比如start_date)与当前日期(current_date_from_db)进行比较。但是这两个错误中的任何一个都没有达成比较:
if ([current_date_from_db compare:start_date]== NSOrderedAscending)
{
NSLog(@"Yes");
}
else {
NSLog(@"No");
};
和
while([ current_date_from_db earlierDate:start_date] && [current_date_from_db laterDate:end_date])
代码失败
SIGBART:由于未捕获的异常而终止应用 ' NSInvalidArgumentException',原因:' - [NSCFString isEqualToDate:]
答案 0 :(得分:1)
current_date_from_db是一个字符串,您可以在错误消息中看到:[NSCFString isEqualToDate:]。您需要解析日期然后进行比较:
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:current_date_from_db];
答案 1 :(得分:0)
您需要在比较之前进行转换。使用current_date_from_db创建NSDate对象或将start_date转换为字符串然后进行比较。