Swift 如何从枚举中定义变量?
我试图定义这样一个变量:Swift 如何从枚举中定义变量?,swift,Swift,我试图定义这样一个变量: import UIKit var str1 = "Apple" var str2 = "Pear" var str3 = "Kiwi" enum Algorithm { case Algorithm1 case Algorithm2 case Algorithm3 } var chooseAlgorithm { switch Algorithm { case .Algorithm1: return str1
import UIKit
var str1 = "Apple"
var str2 = "Pear"
var str3 = "Kiwi"
enum Algorithm {
case Algorithm1
case Algorithm2
case Algorithm3
}
var chooseAlgorithm {
switch Algorithm {
case .Algorithm1:
return str1
case .Algorithm2:
return str2
case .Algorithm3:
return str3
}
}
我试着在操场上运行这段代码,有很多错误,有趣的是,如果我尝试一个由Xcode提示的修复,Xcode将崩溃
我需要将
str
的值指定给chooseAlgorithm
,我如何实现这一点 无法打开类型算法
必须打开实例
由于需要一个参数来传递算法
实例,因此不能使用变量
func chooseAlgorithm(algorithm : Algorithm) -> String {
switch algorithm {
case .Algorithm1:
return "I'm Algorithm 1"
case .Algorithm2:
return "I'm Algorithm 2"
case .Algorithm3:
return "I'm Algorithm 3"
}
}
试试这个:
import UIKit
var str1 = "Apple"
var str2 = "Pear"
var str3 = "Kiwi"
enum Algorithm {
case Algorithm1
case Algorithm2
case Algorithm3
func chooseAlgorithm() -> String {
switch self {
case .Algorithm1:
return str1
case .Algorithm2:
return str2
case .Algorithm3:
return str3
}
}
}
Algorithm.Algorithm1.chooseAlgorithm()
chooseAlgorithm
应该做什么?你不能打开类型算法
你必须打开一个实例。@code我希望能够使用chooseAlgorithm.Algrithm1
获得str的值,例如。@vadian你所说的实例
是什么意思?这不是一个类吗?我写了一个答案。我试过了,它说枚举可能不包含存储的属性
@BrightFuture查看我的帖子编辑。这是完整的代码。删除所有其他内容。谢谢瓦迪安,我真的很想接受这两个答案,但既然@Code的答案有自动完成的帮助,我就接受他的答案^_^