Ios 在swift枚举中构建用于分析的分段错误11

Ios 在swift枚举中构建用于分析的分段错误11,ios,xcode,swift,enums,compiler-errors,Ios,Xcode,Swift,Enums,Compiler Errors,我有一个可以在模拟器和iphone/ipad上运行的应用程序。但是,当我为分析构建它时,在定义了枚举的文件中会出现分段错误11。这是枚举: internal enum PaletteType: Int { case Normal = 0 case Darkened = 1 case Lighter = 2 case Deuteranopia = 3 case Protanopia = 4 case Tritanopia = 5 func

我有一个可以在模拟器和iphone/ipad上运行的应用程序。但是,当我为分析构建它时,在定义了枚举的文件中会出现分段错误11。这是枚举:

internal enum PaletteType: Int {
    case Normal = 0
    case Darkened = 1
    case Lighter = 2
    case Deuteranopia = 3
    case Protanopia = 4
    case Tritanopia = 5

    func colorDeficiency() -> Bool {
        switch self {
        case .Normal:
            return false
        case .Darkened:
            return false
        case .Lighter:
            return false
        case .Deuteranopia:
            return true
        case .Protanopia:
            return true
        case .Tritanopia:
            return true
        }
    }
}
我认为这与
switch self
语句有关。如果我删除switch语句并始终返回false,编译器不会给出分段错误11。但奇怪的是,我定义了另一个enum,它也使用了
switch self
语句,但这并没有给出这个错误

一个补充:在故障描述中,它还表示:“运行pass‘简化函数上的CFG’@_tfo8dathanna11标签类型15颜色缺陷fs0_FT_Sb’”

还有一件事:我知道有一种方法可以解决这个问题,将switch self语句替换为if语句。然后它就起作用了。我只是想找出为什么它在本例中不适用于switch语句,而在其他实例中却适用于switch语句


你知道如何解决这个问题吗?

我的枚举也有分段错误,如果你在案例中尝试使用枚举的全名,比如PaletteType.Normal,会怎么样?我确实尝试过使用全名。还是相同的错误。您是否尝试通过删除内部关键字来更改枚举的范围?只是一个想法。梅尔森:我只是试过了。同样的错误。但是谢谢你的建议。试着在swift上放一个默认案例?