如何利用 Swift 2 或更大的枚举字符串?

How to take advantage of enum string in Swift 2 or greater?

下面的图片显示了我在应用程序中的按钮。我有像这样的不同选择的枚举

enum Legal: String {

    case Term = "Terms Of Service"
    //Link: WWW.google.com/Terms
    case Licenses = "Licenses"
    //Link: WWW.google.com/License
    case Privacy = "Privacy policy" 
    //Link: WWW.google.com/policy 
}

我想知道是否有一种有效的方法来存储 links 而不是将其存储在变量中。我对 swift 内存管理了解不多,但我知道有一种方法我们可以不用使用 ENUMS 将那些 link 存储在堆中。可能在枚举或其他东西中有一个功能。

目前我只是传递按钮标题是什么,并相应地返回 link

func getLinke(legal: String) -> String {

    if legal == Legal.Term.rawValue {

        return "WWW.google.com/Terms"

    } else if legal == Legal.Licenses.rawValue {

        return "WWW.google.com/License"

    } else if legal == Legal.Privacy.rawValue {

        return "WWW.google.com/policy"
    }

    return ""

}

您完全可以将这些 link 存储在您的枚举中,如果这是您需要的,请将其添加到您的枚举中:

var link: String {
    get {
        switch self {
        case Term:
            return "WWW.google.com/Terms"
        case Licenses:
            return "WWW.google.com/License"
        case Privacy:
            return "WWW.google.com/policy"
        }
    }
}

然后可以这样调用:

let term = Legal.Term
let url = term.link