swift - Swift 编译器错误:枚举案例有一个元组作为关联值,但这里有几种模式
问题描述
在 Xcode 11.4 beta 3 中构建一个项目,我在一个枚举上得到了这个 Swift 编译器错误:
枚举案例有一个元组作为关联值,但这里有几个模式,隐式地对模式进行元组并尝试匹配它
源代码:
switch result {
case .error(let err):
//
case .value(let staff, let locations): // <-- error on this line
//
}
Result
.error
是具有和的关联值的通用枚举.value
。在这种情况下,关联的值是一个元组。
public enum Result<T> {
case value(T)
case error(Error)
}
不记得以前看到过这个错误,并且搜索它没有产生任何结果。有任何想法吗?
解决方案
我发现您还可以通过将关联值更像是一个元组来处理这个错误,方法是将其包装在一组额外的括号中:
switch result {
case .error(let err):
//
case .value((let staff, let locations)):
//
}
推荐阅读
- extjs - 使用手动方法在 ColumnTree ExtJS 中隐藏/显示列不起作用
- swagger - 如何从 swagger 下载多个文件
- vue.js - Vuelidate - 不要在突变处理程序之外改变 vuex 存储状态
- python-3.x - Python合并目录中的excel文件
- google-analytics - 在 Google Analytics 中设置自定义引荐来源网址
- android - 无法单击 Div 类中定义的元素
- c# - 如何在 Windows 10 和 > .net 4.5 中枚举 c# 中的音频输入设备?
- c# - 在 ASP.NET WebForms NOT MVC 中使用带有令牌的 OAuth 进行 Azure 身份验证
- android - 没有“Ok Google”,有什么方法可以立即启动我的应用程序?
- r - 使用每列使用不同参数的函数转换多列