我必须传递一个枚举数组作为函数参数,大多数时候我必须传递枚举的每一个示例。有没有一种简便的方法来包含所有内容,而不是每次都传递[.NFL, .NBA, .NHL, .MLB, .NCAAM, .NCAAF]
?我可以创建和所有属性,这样我就可以传递包含所有情况的.all
了吗?
enum LSLeague: String {
case NFL = "NFL"
case NBA = "NBA"
case NHL = "NHL"
case MLB = "MLB"
case NCAAM = "NCAAM"
case NCAAF = "NCAAF"
}
字符串
3条答案
按热度按时间oipij1gg1#
你可以在枚举类型上使用.allCases。
因此,您可能仍然需要根据您的用例做一些工作,但如果您使用以下命令,则可以迭代枚举中的每个元素:
字符串
编辑:@aheze有一个很好的观点,我只是想添加到这个答案中。他说,“确保枚举也符合CaseIterable”
所以,还要确保你必须更改枚举:
型
如果你能使用这种技术。
t9eec4r02#
对枚举使用CaseIterable协议:
字符串
用法:
型
// values = [“Location”,“Organization”,“Duty Use”]
xzabzqsa3#
根据Prashant Gaikwad的回答,我们需要对enum使用CaseIterable协议:
字符串
现在,根据我们的使用,我们将像这样搜索两种语言。这里type包含我们的值,它将是classic或private,现在我们将像这样使用下面的代码
型
现在打印值,您将完美地获得值。