在iOS 5之前,我可以使用==运算符来检查返回的日期earlierDate:
if ([aDate earlierDate:bDate] == aDate)
[someone doSomething];
Run Code Online (Sandbox Code Playgroud)
但现在,我必须这样做:
if ([[aDate earlierDate:bDate] isEqualToDate:aDate])
[someone doSomething];
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
实际上,问题在于使用==比较与使用isEqualToDate:,而不是与earlierDate:呼叫有关.
你一直在使用指针比较(==),现在你必须使用对象的比较方法.这意味着在早期版本的iOS中,该earlierDate:方法将返回您之前传递的对象.现在,它似乎创建了一个新对象(与早期日期具有相同的数据)并返回该对象.
该isEqualToDate:方法是首选,因为它更合适,并且不像指针比较那样破坏.
| 归档时间: |
|
| 查看次数: |
2053 次 |
| 最近记录: |