测试基于枚举的变量是否*不*等于具有关联值的特定情况的最简单方法是什么?



我们有以下枚举和变量

enum DisplayState{
case loading
case loaded(ViewModel)
case noResults
case error
}
var displayState:DisplayState = .loading

我们想测试我们是否处于除loaded以外的任何状态。

由于存在关联的值,这当然不起作用...

if displayState != .loaded {
// Do something
}

但我希望除了这些之外,还能找到别的东西......

switch displayState{
case .loaded: break
default: // Do something
}

if case .loaded = displayState {} else {
// Do something
}

那么测试这种情况的最简单方法是什么?

试试:

enum DisplayState {
case loading
case loaded(ViewModel)
case noResults
case error
var isLoaded: Bool {
switch self {
case .loaded:
return true
default:
return false
}
}
}
var displayState: DisplayState = .loading
if displayState.isLoaded {
// code
}

相关内容

  • 没有找到相关文章

最新更新