Подтвердить что ты не робот

Быстрые перечисления .Raw и .fromRaw с Xcode 6.1

В Xcode 6.1 функции перечисления toRaw и fromRaw больше не работают:

enum TestEnum : String {
    case A = "a"
    case B = "b"
}

if let a = TestEnum.fromRaw("a") {
    prinln(a.toRaw())
}

Ошибки:

'TestEnum' does not have a member named 'toRaw'
'TestEnum.Type' does not have a member named 'fromRaw'
4b9b3361

Ответ 1

Создайте перечисление из raw с помощью инициализатора с ошибкой rawValue и получите исходное значение с помощью атрибута rawValue.

if let a = TestEnum(rawValue: "a") {
     println(a.rawValue)
}

Подробнее читайте журнал изменений.

Ответ 2

Похоже, что toRaw() и fromRaw() были заменены rawValue в Xcode 6.1 Beta (Build 6A1030). Если CardSuits - это перечисление и .Clubs, то вы получите исходное значение с помощью: let suit1 = CardSuits.Clubs.rawValue Результатом будет "1" , если .Clubs - это исходное значение "1" , Чтобы получить строку из необработанного значения, передайте исходное значение в качестве параметра перечисления, например: let suit1 = CardSuits (rawValue: 1) (это будет необязательное значение) Результатом будет значение перечисления исходного значения "1" в этом примере .Clubs