swift - 如何为我的枚举返回空白值

标签 swift enums

我为我的支持类型设置了一个枚举,其声明如下

enum SupportType: String, Codable {
    case type1
    case type2
    case type3

    func string() -> String {
        switch self {
            case .type1:
                return "Type 1"
            case .type2:
                return "Type 2"
            case .type3:
                return "Type 3"
    }
}

当我添加到我的类中时,我将类型声明为

type: SupportType

当值被传递时,这一切都有效,但是当我尝试发送一个空白的新类型时,我尝试将其声明为

NewType(name: data.name, supportType: [SupportType(rawValue: "")], supportName: "")

这会抛出一个错误,指出它有一个空值。如何在不使用现有类型值之一的情况下声明新类型?

最佳答案

为什么不使用nil

首先将您的属性声明为可选:

var type: SupportType?

然后你可以传递nil:

NewType(name: data.name, supportType: nil, supportName: "")

关于swift - 如何为我的枚举返回空白值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50329285/

相关文章:

swift - 仅从 Firebase 检索新值

c# - C# 动态程序集中的自引用枚举属性

c# - 如何使用数据库 C# 中的值创建 ENUM

Swift:在没有 switch 语句的情况下打开枚举

c++ - 在 C++ 中用字符串切换大小写

ios - UIGestureRecognizerState.Cancelled 与 UIGestureRecognizerState.Failed

ios - map 上的 Swift 注释作为按钮

swift - 如何在 Swift 中对 Array<T> 中的元素子范围实现就地排序?

swift - 计算 MKMapView 中 MKPolygon 的面积

c 枚举类型的按位组合参数