美文网首页
Swift 枚举用法示例

Swift 枚举用法示例

作者: 大成小栈 | 来源:发表于2024-02-03 21:44 被阅读0次

    Swift语言定义一个枚举类型,如下:

    enum ContentState: Equatable {
        // 枚举类型的成员 — 普通
        case `default`
    
       // 枚举类型的成员 — 带关联值
        case text(text: String, engineId: String, language: String)
        case voice(path: String)
        
        // 枚举类型的属性
        var name: String {
            switch self {
            case .default:
                return ""
            case .text:
                return "text"
            case .voice:
                return "voice"
            }
        }
    }
    

    在 Swift 中,枚举类型的成员(比如 default、text、voice)本身是值类型,无法直接为它们赋值,它们只能通过创建枚举实例的方式来使用。

    • 创建和调用 ContentState
    // 创建 ContentState 的实例
    let defaultState = ContentState.default
    let textState = ContentState.text(text: "Hello", engineId: "123", language: "English")
    let voiceState = ContentState.voice(path: "/path/to/voice")
    
    // 访问枚举成员的 name 属性
    print(defaultState.name)  // 输出: ""
    print(textState.name)     // 输出: "text"
    print(voiceState.name)    // 输出: "voice"
    

    在上述代码中,我们首先通过 ContentState 枚举的成员创建了三个实例,然后通过访问 name 属性来获取对应的名称。

    • 使用枚举成员的关联值
    let textState = OralContentState.text(text: "Hello", engineId: "123", language: "English")
    
    // 访问关联值
    switch textState {
    case .text(let text, let engineId, let language):
        print("Text: \(text), Engine ID: \(engineId), Language: \(language)")
    default:
        break
    }
    

    在这个例子中,我们使用 switch 语句来匹配 textState 的 text 成员,并访问其中的关联值。

    相关文章

      网友评论

          本文标题:Swift 枚举用法示例

          本文链接:https://www.haomeiwen.com/subject/mbwxadtx.html