ios – Swift 3 – 比较两个日期时使用<运算符

前端之家收集整理的这篇文章主要介绍了ios – Swift 3 – 比较两个日期时使用<运算符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当比较两个日期时,我可以比较使用>但不是< lt.
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中的可比较协议.

猜你在找的iOS相关文章