swift 1.2 if loop для переключения оператора

У меня есть следующий If-Statment, и мне было интересно, как этого можно достичь с помощью оператора switch?

Я пытаюсь представить целое значение в массиве в виде строки (например, 1 == "Ян")

func assigningMonthName([Data]) {
    for i in dataset.arrayOfDataStructures {
        if (i.month) == 1 {
            println("Jan")
        }
        else if (i.month) == 2 {
            print("Feb")
        }
        else if (i.month) == 3 {
            print("March")
        }
        else if (i.month) == 4 {
            print("April")
        }
        else if (i.month) == 5 {
            print("May")
        }
        else if (i.month) == 6 {
            print("June")
        }
        else if (i.month) == 7 {
            print("July")
        }
        else if (i.month) == 8 {
            print("August")
        }
        else if (i.month) == 9 {
            print("September")
        }
        else if (i.month) == 10 {
            print("October")
        }
        else if (i.month) == 11 {
            print("November")
        }
        else if (i.month) == 12 {
            print("December")
        }
        else {
            println("Error assigning month name")
        }
    }

}

любые ответы будут оценены:)

2 ответа

Решение

Хотя вы можете использовать switchпо сути это просто еще один способ написать if-else так что в вашем коде нет больших улучшений:

switch i.month {
    case 1:
        print("Jan")
    case 2:
        print("Feb")
    ...
}

Как насчет использования массива?

let monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "Sept", "October", "November", "December"]
print(monthNames[i.month - 1])

Система фактически уже содержит названия месяцев, они даже локализованы:

let monthNames = NSDateFormatter().monthSymbols;
print(monthNames[i.month - 1])

Попробуй это:

switch i.month {
    case 1:
        print("Jan")
    case 2:
        print("Feb")
    ...
    default:
        print("default value")
}
Другие вопросы по тегам