【发布时间】:2016-04-05 11:39:37
【问题描述】:
我正在尝试理解 Swift 的枚举。我想为我的枚举案例分配一个关联值并返回一个计算值。目前我正在使用一种方法来返回计算出来的数字。
enum Calculation {
case Number1(number: Int)
case Number2(number: Int)
func calculation() -> Int {
switch self {
case Number1(let number): return number + 1
case Number2(let number): return number + 2
}
}
}
我想知道它是否可以做得更短,例如:
// This obviously doesn't work. Just an example as what I'm trying to achieve
enum Calculation: Int {
case Number1(number: Int): return number + 1
case Number2(number: Int): return number + 2
}
【问题讨论】:
-
这个答案可能对您有所帮助。 stackoverflow.com/a/32530320/3222419
-
"I was wondering if it could be done shorter like: example"您是否甚至费心尝试并发现您的示例不起作用?你有任何研究工作吗?你的语法对我来说甚至没有意义...... -
@DavidWilliames 我看不出链接的答案与此有什么关系。这里没有关于闭包的内容......您是否只是链接了您找到的第一个枚举相关类型问题?
-
@nhgrif- 不,我没有简单地链接我能找到的第一个与枚举相关的问题!看来他试图做的是将“计算”存储为一个枚举,该枚举本质上是对一个数字执行计算并返回它的结果......本质上是想在他的枚举中存储闭包。