iOS Intermediate Swift Properties Computed Properties

want to create computed property

i want to create a computed property,Style,that returns the correct Style specifier given.Let for UIFontTextStyleHeadline = UIFontTextHeadline style.

so what i did was enum Text{Text.Headline.Style Body:Text.Style.Headline Footnote:Text.Headline.Fotnote} but it didnt work for me .

enum.swift
let UIFontTextStyleHeadline = "UIFontTextStyleHeadline"
let UIFontTextStyleBody = "UIFontTextStyleBody"
let UIFontTextStyleFootnote = "UIFontTextStyleFootnote"

enum Text {Text.Style.Headline

   body: Text.Style.Body
   footnote: Text.Style.Footnote
}

1 Answer

kjvswift93
kjvswift93
13,433 Points

The computed property, style, needs to be declared as a variable of type String within the Text enum.

let UIFontTextStyleHeadline = "UIFontTextStyleHeadline"
let UIFontTextStyleBody = "UIFontTextStyleBody"
let UIFontTextStyleFootnote = "UIFontTextStyleFootnote"

enum Text {
    case headline
    case body
    case footnote
    var style: String {
        switch self {
        case .headline:
            return UIFontTextStyleHeadline
        case .body:
            return UIFontTextStyleBody
        case .footnote:
            return UIFontTextStyleFootnote

        }
    }
}