我们有以下枚举和变量
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
}