ios swift nsdate swift3

ios - Swift 3: uso ambiguo de<operador al comparar dos fechas



date format swift 3 (1)

Al comparar dos fechas en poco tiempo, puedo comparar usando>, pero no <. startTime, endTime y Date () son todos de tipo Fecha (anteriormente NSDate)

//Broken Code if Date() >= startTime && Date() < endTime { ... } Gives ambiguous use of < operator error //Working Code if Date() >= startTime && endTime > Date() { ... }

¿Hay alguna razón específica por la que esto no funciona?

De hecho, encontré este ejemplo cuando trato de encontrar la documentación de Apple, y realmente usan este código http://www.globalnerdy.com/2016/08/29/how-to-work-with-dates-and-times-in -swift-3-part-3-date-arithmetic /

Empecé a preguntarme si tal vez fue el uso del operador &&, o posiblemente solo ser un problema del orden, pero incluso hacer el código solo como

if startTime < endTime {...}

Pero devuelve el mismo orden.

Obviamente, he encontrado la solución, pero tengo mucha curiosidad de por qué está sucediendo esto.


Probablemente haya extendido NSDate para cumplir con el protocolo comparable en Swift 2. Simplemente elimínelo porque Date ahora se ajusta al protocolo Comparable en Swift3.