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.