NSDate比较时不兼容的指针类型

Lol*_*olo 4 cocoa compare nsdate

以下代码:

NSDate* date1 = [NSDate date];
NSDate* date2 = [NSDate date];
[date1 compare:date2];
[(NSDate*)[NSDate date] compare:date2];
[[NSDate date] compare:date2];
Run Code Online (Sandbox Code Playgroud)

给我"不兼容的指针类型,将'NSDate*'发送到'NSNumber*'类型的参数",用于最后一次日期比较,但不是前两个!

到底是怎么回事???

Ger*_*eon 5

您需要强制转换为NSDate,因为它+ (id)date返回一个id,而不是NSDate.