iphone - 比较 NSdate 时出现意外错误

标签 iphone ios nsdate

我正在比较一个日期(比如 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: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString isEqualToDate:]

最佳答案

current_date_from_db 是一个字符串,您可以在错误消息中看到:[NSCFString isEqualToDate:]。您需要解析日期然后进行比较:

NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:current_date_from_db];

关于iphone - 比较 NSdate 时出现意外错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10937356/

相关文章:

iphone - 以编程方式添加的按钮在 Storyboard中崩溃

ios - 如何使用自动布局缩放 View 的高度和 View 相对于屏幕尺寸的位置

ios - 在 iOS 中,我可以访问 iTunes 歌曲列表吗?

iphone - 确定今天的日期是否在 iOS 上的两个日期范围内

ios - 如何复制 iPhone 最近通话通话时间标签

javascript - iPhone 的点击和鼠标移动?

iphone - 如何放置 Ad BannerView 以保留 TabBar 应用程序中的所有 View ?

iphone - 使用 CGPoints 在 UIImageView 中画线

ios - 在模态视图上调用 present——没有显示,尽管调试输出显示它们确实加载了

ios - 将 NSDictionary 键排序为 NSDate