功能用法:
1.常规:
enum PrinterType : String , CaseIterable {
case receipt = "Receipt"
case kitchen = "Kitchen"
case bar = "Bar"
case packing = "Packing"
case label = "Label"
}
print(PrinterType.allCases)
//------------------
PrinterType.receipt
PrinterType.kitchen
PrinterType.bar
PrinterType.packing
PrinterType.label
//------------------
2.如果枚举中某一元素不想被列出来,我们这就需要自定义了
enum PrinterType : String , CaseIterable {
static var allCases:[PrinterType]{
return [.receipt,.kitchen, .bar, .packing]
}
case receipt = "Receipt"
case kitchen = "Kitchen"
case bar = "Bar"
case packing = "Packing"
case label = "Label"
}
print(PrinterType.allCases)
//------------------
PrinterType.receipt
PrinterType.kitchen
PrinterType.bar
PrinterType.packing
//------------------
这个时候我们写不写,遵不遵守CaseIterable这个协议都无所谓了,因为没有这个协议的时候我们就是这么写来拿到枚举中的各个元素的。

本文详细介绍了在Swift中如何使用枚举类型,并探讨了CaseIterable协议的应用,包括如何通过枚举获取所有成员,以及如何自定义枚举的allCases属性以排除特定元素。
11

被折叠的 条评论
为什么被折叠?



