[NSDate distantPast]
是否总是给出相同的值。我的方案是我想为属性分配一些过去的值,然后再用[NSDate distantPast]
再次检查它。例如。
在某些代码处,我这样做了:
NSDate *myVar = [NSDate distantPast];
然后在稍后我想检查这是否仍然有效。
if(myVar == [NSDate distantPast]) {
NSLog(@"Still Equal.");
} else {
NSLog(@"Not equal now.");
}
如果没有,那么将过去的值存储为起始值的正确方法应该是什么。
答案 0 :(得分:2)
您不应该使用NSDate
运营商对==
进行测试。仅当它是同一个实例时,它才会返回YES
。
您应该使用isEqualToDate:
方法。
对于你的Q,你不应该指望它会是同一个日期,尽管我猜它会是一样的。我认为你的第一个想法是更好(使用默认距离日期),即使其他解决方案应该更具可读性(保留为零,保存标志等)...
祝你好运。