Avatar ·

如何在Swift中遍历所有String类型的enum值?

大家好!我刚开始学习Swift,在处理枚举时遇到了一个问题。我有一个包含商品类别字符串值的enum: ```swift enum Category: String { case electronics = "Электроника" case clothing = "Одежда" case books = "Книги" case sports = "Спорт" } ``` 我需要将所有可用类别显示为picker的列表,但不知道如何遍历这个enum的所有case。我尝试使用`Category.allCases`,但编译器报错说没有这个属性。也试过用`for category in Category`,但同样不行。 文档中提到`CaseIterable`协议,但我不完全理解如何正确使用它。当我添加`CaseIterable`时,代码可以编译,但我不确定这样做是否正确。 请告诉我如何正确遍历所有String类型的enum值?以及是否不仅能获取case本身,还能获取它们的rawValue?