[英]Switch case on enum type
我有一个问题,我希望对枚举类型 ( SearchFilterOptionType
) 执行 switch-case,但由于某种原因,Swift/Xcode 编译器无法识别该成员。
我有以下枚举:
enum SearchFilterOptionType {
case Checkbox
case Selection
case Interval
case Text
}
我能够做到以下几点:
if dataElements[0].type == SearchFilterOptionType.Checkbox {
return
}
但是,如果我想用 switch-case 复制相同的内容,我会收到错误消息:
“枚举案例‘复选框’不是‘SearchFilterOptionType!’类型的成员”
switch dataElements[0].type {
case SearchFilterOptionType.Checkbox:
break
default:
break
}
var dataElements: Array<SearchFilterOption>
struct SearchFilterOption {
var title: String!
var type: SearchFilterOptionType!
init(title: String, type: SearchFilterOptionType) {
self.title = title
self.type = type
}
}
这是因为您将type
声明为可选。 正在移除!
(感叹号)会有所帮助。
尝试这个
switch dataElements[0].type! {
case SearchFilterOptionType.Checkbox:
break
default:
break
}
注意!
在您的错误消息和 switch 语句中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.