2016-03-17 3 views
1

Я начинаю с:Как я могу отсортировать массив строк в будние дни?

var weekdays = ["Sunday", "Friday", "Tuesday"] 

мне нужно изменить:

weekdays = ["Sunday", "Tuesday", "Friday"] 

Я превратили их в Ints:

var days = [Int]() 

for day in weekdays { 

    let formatterWeekday = NSDateFormatter() 

    formatterWeekday.dateFormat = "e" 

    let weekday = formatterWeekday.dateFromString(day) 

    let weekdayString = formatterWeekday.stringFromDate(weekday!) 

    let dayInt = Int(weekdayString) 

    days.append(dayInt!) 

} 

days.sortInPlace() 

который затем дает мне:

days = [1,3,6] 

Итак, как мне преобразовать Int s в будние строки?

ответ

4

Рассматривали ли вы простой подход?

Обновлены @Martin R вход

let dateFormatter = NSDateFormatter() 
// dateFormatter.weekdaySymbols = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] 


for dayIndex in days 
{  
    print(dateFormatter.weekdaySymbols[dayIndex]) 
} 
+0

Я чувствую себя довольно тупой прямо сейчас. Что бы я делал без переполнения стека? – bkwebhero

+1

Обратите внимание, что 'NSCalendar' имеет свойство' weekdaySymbols', которое дает вам (локализованные) имена будних дней. –

+0

@ Russell следует помнить, что будние дниSymbols зависят от локали. Вы должны обязательно добавить NSLocale (localeIdentifier: "en_US_POSIX") –

Смежные вопросы