2015-03-03 2 views
0

У меня есть два NSDate объект, который я хочу, чтобы сравнить со следующим кодом:стремительные сравнения NSDates

var endDate = self.object.endDate 
    var thisDate = NSCalendar.currentCalendar().dateFromComponents(currentComponents) 

    let test = thisDate?.compare(endDate) == NSComparisonResult.OrderedDescending 

    do { 
     timeRangeArray.addObject(thisDate!) 
     currentComponents.minute += 15 
     thisDate = NSCalendar.currentCalendar().dateFromComponents(currentComponents) 
    } while thisDate?.compare(endDate) == NSComparisonResult.OrderedDescending { 
     return timeRangeArray 
    } 

и всегда получаю - (() ->() -> $T8) -> $T9 is not identical to NSComparsionResult

я не хочу, чтобы создать другое значение в то время как заявление, есть ли другой способ сделать эту работу?

+3

Почему у вас есть фигурные скобки ('{' ' } ') вокруг вашего оператора' return'? Это превращает его в блок как часть вашего выражения. –

+0

спасибо, я пропустил это – ignotusverum

ответ

3

do-while statement выглядит следующим образом:

do { 
    statements 
} while condition 

Yours выглядит следующим образом:

do { 
    statements 
} while condition { 
    // what is this??? 
} 

Я думаю, что вы имели в виду:

do { 
    timeRangeArray.addObject(thisDate!) 
    currentComponents.minute += 15 
    thisDate = NSCalendar.currentCalendar().dateFromComponents(currentComponents) 
} while thisDate?.compare(endDate) == NSComparisonResult.OrderedDescending 

return timeRangeArray 
Смежные вопросы