Ios 在swift枚举中构建用于分析的分段错误11
我有一个可以在模拟器和iphone/ipad上运行的应用程序。但是,当我为分析构建它时,在定义了枚举的文件中会出现分段错误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
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上放一个默认案例?