当比较两个日期时,我可以比较使用>但不是< lt.
startTime,endTime和Date()都是Date类型(以前的NSDate)
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() { ... }
有没有一个特定的原因这不工作?
我实际上发现这个例子,试图找到苹果文档,他们实际上使用这个代码
http://www.globalnerdy.com/2016/08/29/how-to-work-with-dates-and-times-in-swift-3-part-3-date-arithmetic/
我开始想知道是否使用&&&或者可能仅仅是订单的问题,但是甚至自己做代码
if startTime < endTime {...}
但它返回相同的顺序.
显然我找到了解决方法,但是我很好奇为什么会发生这种情况.
解决方法
您可能扩展了NSDate以符合Swift 2中的可比协议.只需删除它,因为Date现在符合Swift3中的可比较协议.