Сравнивая даты в цикле, затем добавляя интервал?

Я действительно застрял на этом некоторое время. Пользователь установит пользовательский интервал будильника, а затем выберет дату на сборщике, и приложение настроено на отображение следующего будильника. Если они установили его в прошлом, я хочу, чтобы приложение добавляло интервал, повторяя его, пока он не появится в будущем.

Я играл с датами сравнения, но я не могу заставить что-то работать. Как бы вы, ребята, сделали это? Спасибо!

1 ответ

Решение

Вы можете добавить это расширение, чтобы проверить, предшествует ли его дате заданная дата:

extension NSDate
{
    func isGreaterThanDate(dateToCompare : NSDate) -> Bool
    {
        //Declare Variables
        var isGreater = false

        //Compare Values
        if self.compare(dateToCompare) == NSComparisonResult.OrderedDescending
        {
           isGreater = true
        }

       //Return Result
        return isGreater
    }


    func isLessThanDate(dateToCompare : NSDate) -> Bool
    {
        //Declare Variables
        var isLess = false

       //Compare Values
       if self.compare(dateToCompare) == NSComparisonResult.OrderedAscending
        {
            isLess = true
        }

        //Return Result
        return isLess
    }
}

И чтобы использовать это, просто сделайте что-то вроде

let today = NSDate()//this creates a date object with current date
let isBeforeToday = today.isGreaterThanDate(aDate)//aDate is whatever date they pick from the picker

А затем добавить свой интервал вы можете сделать

today.dateByAddingTimeInterval(customInterval)//customInterval is in seconds

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

Другие вопросы по тегам