假设我有以下代码:
enum Suit {
case Spades, Hearts, Diamonds, Clubs
}
是否有一种方法可以得到下面的数组?
[Spades, Hearts, Diamonds, Clubs]
我不知道有没有办法做到这一点。这是一个很好的问题,希望有人能找到另一种方法,多通用的我。不管怎样,我做了一些事情
这里是枚举:
// SuitCount is the last one, so the total of elements (used) is SuitCount-1
enum Suit: Int {
case Spades, Hearts, Diamonds, Clubs, SuitCount
}
返回值的函数:
func getValueFromSuitAtIndex(#indexOfElement: Int) -> String {
var value = ""
switch indexOfElement {
case 0:
value = "Spades"
case 1:
value = "Hearts"
case 2:
value = "Diamonds"
case 3:
value = "Clubs"
default:
value = ""
}
return value
}
var suitElements = String[]()
for index in 0...Suit.SuitCount.toRaw()-1 {
suitElements.append(self.getValueFromSuitAtIndex(indexOfElement: index))
}
// suitElements printed is: [Spades, Hearts, Diamonds, Clubs]
println(suitElements)
问题内容: 我遇到了这个问题,我不知道需要迭代其实际值的实际类型。 任何想法如何从enumValue中提取其可能的值? 问题答案:
给定类型脚本枚举: 我想在一个数组中得到它的所有值,如下所示: 但当我和 我得到奇怪的数组组成的索引和值: 为什么会出现这种情况?我如何才能只获取值?
问题内容: 如果我有一个带有原始值的枚举: 如何将值转换为字符串?语言中是否可用这种类型名称自省? 类似的东西(此代码将不起作用): 问题答案: 从Xcode 7 beta 5(Swift版本2)开始,您现在可以默认使用来打印类型名称和枚举大小写,或者使用的初始值设定项或字符串插值语法转换为。因此,对于您的示例: 因此,不再需要定义和维护一个方便函数,该函数在每种情况下都可以打开以返回字符串文字。
我使用Enum4库创建enum类,如下所示: 我想在某处打印作为列表。如何实现这一点?
问题内容: 我试图从原始值获取枚举类型: 但是似乎对于带空格的字符串不起作用: 任何建议如何获得它? 问题答案: 太复杂了,只需将原始值直接分配给案例 如果案例名称与原始值匹配,您甚至可以忽略它 在Swift 3+中,所有枚举都是
问题内容: 我有以下列举。 我需要将所有原始值存储为字符串数组(例如)。 我将此方法添加到枚举中。 但我收到以下错误。 找不到类型’GeneratorOf’的初始化程序,该初始化程序接受类型’(()-> _)’的参数列表 有没有更简单,更好或更优雅的方式来做到这一点? 问题答案: 有一个协议: 对于Swift <4.2 不,您无法查询包含的值。看到这篇文章。您必须定义一个列出所有值的数组。还可以在