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的答案有自动完成的帮助,我就接受他的答案^_^