我正在構建一個Swift習慣建設應用程序。在某個時刻,用戶選擇他們想要創建的習慣的持續時間(以天計)。用戶還可以選擇他們想要練習的星期幾(星期日,星期一,星期二等)。開始日期是他們創造習慣的那一天。在Swift中迭代日期範圍的最有效方法是什麼?
我目前有開始日期和結束日期(根據用戶選擇的天數)。但是,在該日期範圍內,我需要提取用戶選擇的特定日期的日期。
我的想法是,對於時間間隔(startDate,endDate)中的每個週日值'x',返回日曆日期。然而,我試圖創建一個DateInterval,我無法迭代它,因爲它不符合協議'序列'。
是否有一種迭代此日期範圍並提取這些其他日期的有效方法?有沒有更好的方式,我還沒有想到?
這裏是我當前的日期啓動下面的代碼:
var date = Date()
var duration = 10
let calendar = Calendar.current
let dateEnding = Calendar.current.date(byAdding: .day, value: duration, to: date as Date)!
//Returns a number representing day of the week. i.e. 1 = Sunday
let weekDay = calendar.component(.weekday, from: date)
//Initializing a time interval, based on user selected duration and start date
let timeInterval = DateInterval.init(start: date, end: dateEnding)
感謝您的幫助......
輝煌 - 它完美的工作。謝謝!!! – sharedev