我有一个问题,我希望在枚举类型(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
}
}
答案 0 :(得分:6)
这是因为您将type
声明为可选。删除!
(感叹号)会有所帮助。
答案 1 :(得分:2)
试试这个
switch dataElements[0].type! {
case SearchFilterOptionType.Checkbox:
break
default:
break
}
请注意错误消息中的!
和切换语句