Ответ 1
Создайте перечисление из raw с помощью инициализатора с ошибкой rawValue
и получите исходное значение с помощью атрибута rawValue
.
if let a = TestEnum(rawValue: "a") {
println(a.rawValue)
}
Подробнее читайте журнал изменений.
В 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'
Создайте перечисление из raw с помощью инициализатора с ошибкой rawValue
и получите исходное значение с помощью атрибута rawValue
.
if let a = TestEnum(rawValue: "a") {
println(a.rawValue)
}
Подробнее читайте журнал изменений.
Похоже, что 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