比较iPhone中的两个NSDates

Kru*_*nal 2 iphone comparison nsdate ipad

我是iPhone开发人员的新手,

我想比较两个日期,第一个日期将来自数据库说,newDate第二个是今天的日期,

如果今天更大,那么newDate我想显示警报.

这是我的代码片段,

NSString *newDate = [formatter stringFromDate:st];
NSDate *today=[[NSDate alloc]init];

if ([today compare:newDate] == NSOrderedDescending)
{
    NSLog(@"today is later than newDate");        
}
else if ([today compare:newDate] == NSOrderedAscending)
{
    NSLog(@"today is earlier than newDate");        
}
else
{
    NSLog(@"dates are the same");        
}
Run Code Online (Sandbox Code Playgroud)

但它崩溃了,编译时也向我显示了警告 [today compare:newDate]

任何帮助将不胜感激.

Jus*_*Sid 6

问题是,您正在比较字符串和日期.如果你看一下newDate,你会发现它是a NSString而不是a NSDate.如果你使用这个compare:方法NSDate,两个对象都必须是NSDate.看看你的代码,它看起来stNSDate对应的newDate(虽然你的命名似乎有点奇怪),尝试today用它而不是newDate