Dal*_*las 9 nsdate ios swift swift3
在swift中比较两个日期时,我可以比较使用>,但不能<.startTime,endTime和Date()都是Date类型(以前是NSDate)
//Broken Code
if Date() >= startTime && Date() < endTime
{
...
}
Gives ambiguous use of < operator error
//Working Code
if Date() >= startTime && endTime > Date()
{
...
}
Run Code Online (Sandbox Code Playgroud)
这是不是有效的特定原因?
我在尝试查找苹果文档时实际上找到了这个例子,他们实际上使用了这个代码 http://www.globalnerdy.com/2016/08/29/how-to-work-with-dates-and-times-in -swift -3-部分-3-日期算术/
我开始想知道是否可能是使用&&运算符,或者可能仅仅是订单的问题,但是甚至将代码本身作为
if startTime < endTime {...}
Run Code Online (Sandbox Code Playgroud)
但它返回相同的顺序.
显然我找到了解决方法,但我很好奇为什么会这样.
Leo*_*bus 24
你可能已经扩展NSDate到符合Swift 2中的类似协议.只需删除它,因为Date现在符合Swift3中的Comparable协议.