view LazyBear/Views/Home/TradingDates.swift @ 337:31f2838b2de7

Improving API requests with DispatchGroup
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Thu, 01 Apr 2021 16:34:45 +0200
parents 6f904b166564
children e81c18164afb
line wrap: on
line source

//
//  TradingDate.swift
//  LazyBear
//
//  Created by Dennis Concepción Martín on 30/3/21.
//

import SwiftUI

struct TradingDates: View {
    var stringDates: [TradingDatesModel]
    
    var body: some View {
        NavigationView {
            ScrollView {
                VStack(spacing: 20) {
                    ForEach(getArrayOfDates(), id: \.self) { date in
                        TradingDatesItem(date: date)
                    }
                }
                .padding()
            }
            .navigationTitle("Holiday dates")
        }
    }
    
    
    private func getArrayOfDates() -> [Date] {
        // Get array of the string dates
        let stringDates = self.stringDates.map { $0.date }
        
        // Convert string to date
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd"
        
        // Append dates to a Date array
        var dates = [Date]()
        for stringDate in stringDates {
            dates.append(dateFormatter.date(from: stringDate)!)
        }
        
        return dates
    }
}

struct TradingDate_Previews: PreviewProvider {
    static var previews: some View {
        // Format is YYY-MM-DD
        TradingDates(stringDates: [TradingDatesModel(date: "2020-04-01")])
    }
}