Лучший способ получить название дня на ios swift

Я беру название дня, подобного этому

func loadDayName(forDate date: NSDate) -> String{
    let myComponents = calendar.components(.Weekday, fromDate: date)
    let weekDay = myComponents.weekday
    switch weekDay {
    case 1:
        return "Sunday"
    case 2:
        return "Monday"
    case 3:
        return "Tuesday"
    case 4:
        return "Wednesday"
    case 5:
        return "Thursday"
    case 6:
        return "Friday"
    case 7:
        return "Saturday"
    default:
        return "Nada"
    }
}

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

Ответ 1

Использовать DateFormatter

Swift 4

let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE"
let dayInWeek = dateFormatter.string(from: date)

Swift3

let date = NSDate()
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat  = "EEEE" // "EE" to get short style
let dayInWeek = dateFormatter.stringFromDate(date) // "Sunday"    

Скриншот

enter image description here

Ответ 2

Если вы хотите получить массив имен дней, которые вы можете использовать: weekdaySymbols in Calendar()

пример:

let calendar = Calendar(identifier: .gregorian)
let days = calendar.weekdaySymbols