私は、スウィフト習慣構築アプリケーションを構築しています。ある時点で、ユーザは、作成したい習慣の期間(日数)を選択する。ユーザーは、曜日(日曜、月曜、火曜日など)を練習したい曜日を選択することもできます。開始日は、習慣を作成する日です。Swiftで日付範囲を反復する最も効果的な方法は何ですか?
私は現在、開始日と終了日(ユーザーが選択した日数に基づいて)を持っています。しかし、その日付範囲内では、ユーザーが選択した特定の日の日付を抽出する必要があります。
私の考えは、時間間隔(startDate、endDate)内のすべての平日の値 'x'に対して、カレンダーの日付を返します。しかし、私はDateIntervalを作成しようとしましたが、プロトコル 'Sequence'に準拠していないため、繰り返し処理できません。
この日付範囲で反復処理を行い、これらの他の日付を抽出する効率的な方法はありますか?私はまだ考えていないより良い方法がありますか?ここで
は、以下の私の現在の日付スターターコードです:あなたの助けを
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)
おかげで...
brilliant - 完全に動作します。ありがとうございました!!! – sharedev