我注意到我收到了一个非常确定的枚举类型的编译时错误。它可以通过以下方式重现:
enum ThisEnumCompiles {
case stringArgument(_ string: String)
case intArgument(_ int: Int)
}
enum ThisEnumAlsoCompiles: Codable {
case stringArgument(string: String)
case intArgument(int: Int)
}
enum ThisEnumDoesNot: Codable {
case stringArgument(_ string: String)
case intArgument(_ int: Int)
}
在您实际构建之前,XCode 中不会显示最后一个枚举的错误:
<unknown>:0: error: type 'ThisEnumDoesNot' has no member 'stringArgument(string:)'
<unknown>:0: error: type 'ThisEnumDoesNot' has no member 'intArgument(int:)'
我不清楚为什么添加_
会使最后一个枚举无法编译,而如果它不符合则很好Codable