【发布时间】:2020-05-12 17:11:31
【问题描述】:
以下枚举工作正常,没有任何错误。
enum EnumOptions: CaseIterable {
case none
case mild
case moderate
case severe
case unmeasurable
}
当我尝试将关联值添加到其中一种情况时,它会引发以下错误“类型'EnumOptions'不符合协议'CaseIterable'。你想添加协议存根吗?”
enum OedemaOptions: CaseIterable {
case none
case mild
case moderate
case severe
case unmeasurable(Int)
}
添加存根后,
enum OedemaOptions: CaseIterable {
typealias AllCases = <#type#>
case none
case mild
case moderate
case severe
case unmeasurable(Int)
应该在占位符中填写什么以使 Enum 符合 CaseIterable,因为只有 1 个案例具有关联值,而不是所有案例?
【问题讨论】:
-
来自documentation:
The compiler can automatically provide an implementation of the CaseIterable requirements for any enumeration without associated values。您基本上需要提供自己的CaseIterable实现