检查NSDate对象是否在过去

FS.*_*S.O 2 cocoa-touch objective-c nsdate ios

我想检查一下NSDate我拥有的对象是过去还是现在(如果不是将来).

我试过这个,但它不起作用:

-(void)checkIfMuted
{
    NSDate *muteOverDate=[[NSUserDefaults standardUserDefaults] objectForKey:@"muteOverDate"];

    if ([muteOverDate timeIntervalSinceNow]<0.0) {
        self.muteEnabled=YES;
        return;
    }
    self.muteEnabled=NO;
    NSLog(@"%@\n%@",[[NSDate date] description],[muteOverDate description]);
}
Run Code Online (Sandbox Code Playgroud)

NSLog打印: 2016-02-10 14:55:19 +0000 2016-02-10 15:54:32 +0000

知道为什么它不起作用吗?谢谢!

tro*_*foe 10

用途[NSDate compare:]:

NSDate *now = [NSDate date];
if ([now compare:muteOverDate] == NSOrderedAscending) {
    // muteOverDate in the past
}
Run Code Online (Sandbox Code Playgroud)